diff --git a/.eslintrc b/.eslintrc
index dc33deb71..e1391109b 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -27,6 +27,7 @@
"@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/camelcase": 0,
"@typescript-eslint/explicit-function-return-type": 0,
- "@typescript-eslint/no-var-requires": 0
+ "@typescript-eslint/no-var-requires": 0,
+ "@typescript-eslint/ban-ts-comment": 0
}
}
diff --git a/.husky/pre-commit b/.husky/pre-commit
index f37a20cb6..ddb0fdc45 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
-yarn pretty:check && yarn lint:check
+yarn lint:check && yarn pretty:check
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 000000000..da2d3988d
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+14
\ No newline at end of file
diff --git a/README.md b/README.md
index 711f21249..f14bb9de5 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@
| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ | :---------------------------- |
| [`@airswap/swap`](/source/swap) | [![npm](https://img.shields.io/npm/v/@airswap/swap)](https://www.npmjs.com/package/@airswap/swap) | Atomic Token Swap |
| [`@airswap/swap-erc20`](/source/swap-erc20) | [![npm](https://img.shields.io/npm/v/@airswap/swap-erc20)](https://www.npmjs.com/package/@airswap/swap-erc20) | Atomic Token Swap (ERC20) |
-| [`@airswap/maker-registry`](/source/maker-registry) | [![npm](https://img.shields.io/npm/v/@airswap/maker-registry)](https://www.npmjs.com/package/@airswap/maker-registry) | Maker Discovery |
+| [`@airswap/registry`](/source/registry) | [![npm](https://img.shields.io/npm/v/@airswap/registry)](https://www.npmjs.com/package/@airswap/registry) | Server Discovery |
| [`@airswap/indexer-registry`](/source/indexer-registry) | [![npm](https://img.shields.io/npm/v/@airswap/indexer-registry)](https://www.npmjs.com/package/@airswap/indexer-registry) | Indexer Discovery |
| [`@airswap/staking`](/source/staking) | [![npm](https://img.shields.io/npm/v/@airswap/staking)](https://www.npmjs.com/package/@airswap/staking) | Staking for Participants |
| [`@airswap/pool`](/source/pool) | [![npm](https://img.shields.io/npm/v/@airswap/pool)](https://www.npmjs.com/package/@airswap/pool) | Rewards Pool for Participants |
@@ -45,6 +45,49 @@
| `yarn lint:fix` | Run eslint for all JavaScript code. |
| `yarn pretty:fix` | Run prettier for all JavaScript code. |
+## Branching
+
+Flow for contracts and associated tools:
+Branch from Develop; Merge Feature → Develop → Beta → Main
+
+Flow for tool updates (not contracts):
+Branch from Main; Merge Feature → Main → Develop
+
+## Versioning
+
+- Major versions include breaking changes.
+- Minor versions do not include breaking changes and may include additional functionality.
+- Dependencies on fellow @airswap packages should use caret semver.
+
+## Process
+
+**Regular development process for a complete release**
+
+1. New work and features are cut from and merged to "develop"
+
+ 1. Cut feature branches from develop
+ 2. Merge feature branches into develop (Squash and Merge)
+
+2. Merge "develop" into "beta" to publish beta packages. (Semver: x.x.x-beta.x)
+
+ 1. Merge develop into beta (Merge Commit): this will publish NPM with "beta" tag.
+ 2. Tag beta release from beta branch. (x.x.x-beta.x)
+ 3. Share tagged release with auditors if auditing.
+
+3. Merge "develop" into "main" to publish latest packages. (Semver: x.x.x)
+
+ 1. Merge develop into main (Merge Commit): this will publish NPM with "latest" tag.
+ 2. Merge main into beta: this will update the beta with latest.
+ 3. Tag release from main branch. (x.x.x)
+
+Each `deploys.js` must be limited to contracts deployed from that package version.
+
+**Individual package features or patches**
+
+1. Cut a feature or fix branch from main.
+2. Merge fix into main (Squash and Merge): this will publish to NPM with "latest" tag.
+3. Merge main into develop.
+
## Deploying and Verifying
Each package has commands `yarn deploy` and `yarn verify`. Each command takes a `--network` flag. For example:
diff --git a/hardhat.config.js b/hardhat.config.js
index 6a8ad4e66..e32e865a0 100644
--- a/hardhat.config.js
+++ b/hardhat.config.js
@@ -5,62 +5,77 @@ require('@nomiclabs/hardhat-waffle')
require('@nomiclabs/hardhat-etherscan')
require('solidity-coverage')
+const { ChainIds, apiUrls, explorerUrls } = require('@airswap/constants')
+
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
networks: {
goerli: {
- url: 'https://goerli.infura.io/v3/' + process.env.INFURA_API_KEY,
+ url: apiUrls[ChainIds.GOERLI] + process.env.INFURA_API_KEY,
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
mainnet: {
- url: 'https://mainnet.infura.io/v3/' + process.env.INFURA_API_KEY,
+ url: apiUrls[ChainIds.MAINNET] + process.env.INFURA_API_KEY,
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
bsctestnet: {
- url: 'https://data-seed-prebsc-1-s1.binance.org:8545/',
+ url: apiUrls[ChainIds.BSCTESTNET],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
bsc: {
- url: 'https://bsc-dataseed.binance.org/',
+ url: apiUrls[ChainIds.BSC],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
fuji: {
- url: 'https://api.avax-test.network/ext/bc/C/rpc',
+ url: apiUrls[ChainIds.FUJI],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
avalanche: {
- url: 'https://api.avax.network/ext/bc/C/rpc',
+ url: apiUrls[ChainIds.AVALANCHE],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
mumbai: {
- url: 'https://rpc-mumbai.maticvigil.com',
+ url: apiUrls[ChainIds.MUMBAI],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
polygon: {
- url: 'https://polygon-rpc.com/',
+ url: apiUrls[ChainIds.POLYGON],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
arbitrum: {
- url: 'https://arb1.arbitrum.io/rpc',
+ url: apiUrls[ChainIds.ARBITRUM],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
arbitrumgoerli: {
- url: 'https://goerli-rollup.arbitrum.io/rpc',
+ url: apiUrls[ChainIds.ARBITRUMGOERLI],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
rsk: {
- url: 'https://public-node.rsk.co',
+ url: apiUrls[ChainIds.RSK],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
rsktestnet: {
- url: 'https://public-node.testnet.rsk.co/',
+ url: apiUrls[ChainIds.RSKTESTNET],
+ accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
+ },
+ linea: {
+ url: apiUrls[ChainIds.LINEA],
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : undefined,
},
},
solidity: {
compilers: [
+ {
+ version: '0.5.16',
+ settings: {
+ optimizer: {
+ enabled: true,
+ runs: 999999,
+ },
+ },
+ },
{
version: '0.8.17',
settings: {
@@ -85,22 +100,31 @@ module.exports = {
avalancheFujiTestnet: process.env.SNOWTRACE_API_KEY,
polygonMumbai: process.env.POLYGONSCAN_API_KEY,
rsk: process.env.BLOCKSCOUT_API_KEY,
+ linea: process.env.BLOCKSCOUT_API_KEY,
},
customChains: [
{
network: 'rsk',
chainId: 30,
urls: {
- apiURL: 'https://blockscout.com/rsk/mainnet/api',
- browserURL: 'https://blockscout.com/rsk/mainnet',
+ apiURL: apiUrls[ChainIds.RSK],
+ browserURL: explorerUrls[ChainIds.RSK],
+ },
+ },
+ {
+ network: 'linea',
+ chainId: 59140,
+ urls: {
+ apiURL: apiUrls[ChainIds.LINEA],
+ browserURL: explorerUrls[ChainIds.LINEA],
},
},
{
network: 'arbitrumGoerli',
chainId: 421613,
urls: {
- apiURL: 'https://api-goerli.arbiscan.io/api',
- browserURL: 'https://goerli.arbiscan.io',
+ apiURL: apiUrls[ChainIds.ARBITRUMGOERLI],
+ browserURL: explorerUrls[ChainIds.ARBITRUMGOERLI],
},
},
],
diff --git a/package.json b/package.json
index c697c6add..eb33aed05 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
"compile": "lerna run compile",
"lint:check": "yarn eslint . --ext .js,.ts",
"lint:fix": "yarn eslint . --ext .js,.ts --fix",
- "test": "yarn compile && lerna run test:unit",
+ "test": "lerna run test:unit",
"prepare": "husky install",
"pretty:check": "prettier --check \"./**/*.sol\" \"./**/*.ts\" \"./**/*.js\"",
"pretty:fix": "prettier --write \"./**/*.sol\" \"./**/*.ts\" \"./**/*.js\""
@@ -28,8 +28,10 @@
"@nomiclabs/hardhat-waffle": "^2.0.3",
"@typechain/ethers-v5": "^10.2.0",
"@typechain/hardhat": "^6.1.5",
- "@typescript-eslint/eslint-plugin": "^5.31.0",
- "@typescript-eslint/parser": "^5.45.1",
+ "@types/mocha": "^10.0.1",
+ "@types/node": "^18.15.11",
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
+ "@typescript-eslint/parser": "^5.58.0",
"chai": "^4.3.6",
"dotenv": "^16.0.1",
"eslint": "^8.20.0",
@@ -39,18 +41,17 @@
"ethers": "^5.6.9",
"hardhat": "^2.12.7",
"husky": "^8.0.1",
- "lerna": "^5.2.0",
- "nx": "^14.4.3",
+ "lerna": "^6.6.1",
+ "mocha": "^10.2.0",
+ "nx": "^15.9.2",
"prettier": "^2.8.4",
"prettier-plugin-solidity": "^1.1.2",
"solidity-coverage": "^0.8.2",
+ "ts-node": "^10.9.1",
"typechain": "^8.1.1",
- "typescript": "^4.8.4"
+ "typescript": "^5.0.4"
},
"engines": {
- "node": ">=14"
- },
- "volta": {
- "node": "16.15.1"
+ "node": ">= 14"
}
}
diff --git a/source/balances/README.md b/source/balances/README.md
new file mode 100644
index 000000000..2b03417b0
--- /dev/null
+++ b/source/balances/README.md
@@ -0,0 +1,35 @@
+# BalanceChecker
+
+[AirSwap](https://www.airswap.io/) is a peer-to-peer trading network for Ethereum tokens. This package contains source code and tests for a basic ERC20 balance and allowance aggregator.
+
+[![Discord](https://img.shields.io/discord/590643190281928738.svg)](https://discord.gg/ecQbV7H)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+![Twitter Follow](https://img.shields.io/twitter/follow/airswap?style=social)
+
+## Resources
+
+- Docs → https://docs.airswap.io/
+- Website → https://www.airswap.io/
+- Blog → https://blog.airswap.io/
+- Support → https://support.airswap.io/
+
+## Usage
+
+:warning: This package is under active development. The [BalanceChecker](./contracts/BalanceChecker.sol) contract is deployed; see [deploys.js](./deploys.js) for latest. For all AirSwap contract deployments see [Deployed Contracts](https://docs.airswap.io/system/contract-deployments).
+
+## Commands
+
+| Command | Description |
+| :------------- | :-------------------------------------- |
+| `yarn` | Install dependencies |
+| `yarn clean` | Delete the contract `build` folder |
+| `yarn compile` | Compile all contracts to `build` folder |
+| `yarn test` | Run all contract tests in `test` folder |
+
+## Running Tests
+
+:bulb: Prior to testing locally, run `yarn compile` in the `airswap-protocols` project root to build required artifacts. Then run an instance of `ganache-cli` before running `yarn test` in another shell from the root repository.
+
+```
+yarn ganache
+```
diff --git a/source/balances/contracts/BalanceChecker.sol b/source/balances/contracts/BalanceChecker.sol
new file mode 100644
index 000000000..10bde221d
--- /dev/null
+++ b/source/balances/contracts/BalanceChecker.sol
@@ -0,0 +1,215 @@
+// SPDX-License-Identifier: MIT
+pragma solidity 0.8.17;
+
+import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
+import "@openzeppelin/contracts/access/Ownable.sol";
+import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
+import "@openzeppelin/contracts/utils/Address.sol";
+
+/**
+ * @title BalanceChecker: Batch ERC-20 allowance and balance calls
+ */
+contract BalanceChecker is Ownable {
+ using SafeERC20 for IERC20;
+ using Address for address;
+
+ /**
+ * @notice Check the token balances of a wallet for multiple tokens
+ * @dev return array and will fail if large token arrays are inputted
+ * @dev Returns array of token balances in base units
+ * @param userAddress address
+ * @param tokenAddresses address[]
+ * @return uint256[] token balance array if possible
+ */
+ function walletBalances(
+ address userAddress,
+ address[] calldata tokenAddresses
+ ) external view returns (uint256[] memory) {
+ require(tokenAddresses.length > 0);
+ uint256[] memory balances = new uint256[](tokenAddresses.length);
+
+ for (uint256 i = 0; i < tokenAddresses.length; i++) {
+ if (tokenAddresses[i] != address(0x0)) {
+ balances[i] = tokenBalance(userAddress, tokenAddresses[i]);
+ } else {
+ balances[i] = userAddress.balance;
+ }
+ }
+ return balances;
+ }
+
+ /**
+ * @notice Check the token allowances of a wallet for multiple tokens
+ * @dev return array and will fail if large token arrays are inputted
+ * @dev Returns array of token allowances in base units
+ * @param userAddress address
+ * @param spenderAddress address
+ * @param tokenAddresses address[]
+ * @return uint256[] token allowances array if possible
+ */
+ function walletAllowances(
+ address userAddress,
+ address spenderAddress,
+ address[] calldata tokenAddresses
+ ) external view returns (uint256[] memory) {
+ require(tokenAddresses.length > 0);
+ uint256[] memory allowances = new uint256[](tokenAddresses.length);
+
+ for (uint256 i = 0; i < tokenAddresses.length; i++) {
+ allowances[i] = tokenAllowance(
+ userAddress,
+ spenderAddress,
+ tokenAddresses[i]
+ );
+ }
+ return allowances;
+ }
+
+ /**
+ * @notice Check the token allowances of multiple wallets for multiple tokens
+ * @dev return array and will fail if large arrays are inputted
+ * @dev Returns array of token allowances in base units
+ * @param userAddresses address[]
+ * @param spenderAddress address
+ * @param tokenAddresses address[]
+ * @return uint256[] token allowances array if possible
+ */
+ function allAllowancesForManyAccounts(
+ address[] calldata userAddresses,
+ address spenderAddress,
+ address[] calldata tokenAddresses
+ ) external view returns (uint256[] memory) {
+ uint256[] memory allowances = new uint256[](
+ tokenAddresses.length * userAddresses.length
+ );
+
+ for (uint256 user = 0; user < userAddresses.length; user++) {
+ for (uint256 token = 0; token < tokenAddresses.length; token++) {
+ allowances[(user * tokenAddresses.length) + token] = tokenAllowance(
+ userAddresses[user],
+ spenderAddress,
+ tokenAddresses[token]
+ );
+ }
+ }
+ return allowances;
+ }
+
+ /**
+ * @notice Check the token balances of multiple wallets for multiple tokens
+ * @dev return array and will fail if large arrays are inputted
+ * @dev Returns array of token balances in base units
+ * @param userAddresses address[]
+ * @param tokenAddresses address[]
+ * @return uint256[] token allowances array if possible
+ */
+ function allBalancesForManyAccounts(
+ address[] calldata userAddresses,
+ address[] calldata tokenAddresses
+ ) external view returns (uint256[] memory) {
+ uint256[] memory balances = new uint256[](
+ tokenAddresses.length * userAddresses.length
+ );
+ for (uint256 user = 0; user < userAddresses.length; user++) {
+ for (uint256 token = 0; token < tokenAddresses.length; token++) {
+ if (tokenAddresses[token] != address(0x0)) {
+ // ETH address in Etherdelta config
+ balances[(user * tokenAddresses.length) + token] = tokenBalance(
+ userAddresses[user],
+ tokenAddresses[token]
+ );
+ } else {
+ balances[(user * tokenAddresses.length) + token] = userAddresses[user]
+ .balance;
+ }
+ }
+ }
+ return balances;
+ }
+
+ /**
+ * @notice Self-destruct contract for clean-up
+ */
+ function destruct(address payable recipientAddress) public onlyOwner {
+ selfdestruct(recipientAddress);
+ }
+
+ /**
+ * @notice Allow owner to withdraw ether from contract
+ */
+ function withdraw() public onlyOwner {
+ (bool success, ) = address(owner()).call{ value: address(this).balance }(
+ ""
+ );
+ require(success, "ETH_WITHDRAW_FAILED");
+ }
+
+ /**
+ * @notice Allow owner to withdraw stuck tokens from contract
+ * @param tokenAddress address
+ * @param amount uint256
+ */
+ function withdrawToken(
+ address tokenAddress,
+ uint256 amount
+ ) public onlyOwner {
+ require(tokenAddress != address(0x0)); //use withdraw for ETH
+ IERC20(tokenAddress).safeTransfer(msg.sender, amount);
+ }
+
+ /**
+ * @notice Check the token allowance of a wallet in a token contract
+ * @dev return 0 on returns 0 on invalid spender contract or non-contract address
+ * @param userAddress address
+ * @param spenderAddress address Specified address to spend
+ * @param tokenAddress address
+ * @return uint256 token allowance if possible
+ */
+ function tokenAllowance(
+ address userAddress,
+ address spenderAddress,
+ address tokenAddress
+ ) public view returns (uint256) {
+ if (tokenAddress.isContract()) {
+ IERC20 token = IERC20(tokenAddress);
+ // Check if allowance succeeds as a call else returns 0.
+ (bool success, ) = address(token).staticcall(
+ abi.encodeWithSelector(
+ token.allowance.selector,
+ userAddress,
+ spenderAddress
+ )
+ );
+ if (success) {
+ return token.allowance(userAddress, spenderAddress);
+ }
+ return 0;
+ }
+ return 0;
+ }
+
+ /**
+ * @notice Check the token balance of a wallet in a token contract
+ * @dev return 0 on returns 0 on invalid spender contract or non-contract address
+ * @param userAddress address
+ * @param tokenAddress address
+ * @return uint256 token balance if possible
+ */
+ function tokenBalance(
+ address userAddress,
+ address tokenAddress
+ ) public view returns (uint256) {
+ if (tokenAddress.isContract()) {
+ IERC20 token = IERC20(tokenAddress);
+ // Check if balanceOf succeeds.
+ (bool success, ) = address(token).staticcall(
+ abi.encodeWithSelector(token.balanceOf.selector, userAddress)
+ );
+ if (success) {
+ return token.balanceOf(userAddress);
+ }
+ return 0;
+ }
+ return 0;
+ }
+}
diff --git a/source/balances/deploys.js b/source/balances/deploys.js
new file mode 100644
index 000000000..90c49b3e5
--- /dev/null
+++ b/source/balances/deploys.js
@@ -0,0 +1,14 @@
+module.exports = {
+ 1: '0x21486E4427031F10fBE45F47AAd6f729014d42a4',
+ 4: '0x2B1c6b0cB9673Efc83d177f72c0daF52A33F120C',
+ 5: '0x755Aa03f420A62560E90502D7da23A73C301dad4',
+ 30: '0xEAa610106E67Fe191b0f33cF9B8C900Fed1Ba4BA',
+ 31: '0x9e9c21C4747B078712D2bb49A279A043973BE9a0',
+ 42: '0xe25b7504856bfb230b7c32BC87047479815cbc70',
+ 56: '0x4f850F83BB5678E1deBA0B8F4bcBA9813Ef08dCa',
+ 97: '0x4f850F83BB5678E1deBA0B8F4bcBA9813Ef08dCa',
+ 137: '0x132F13C3896eAB218762B9e46F55C9c478905849',
+ 43113: '0x87D02f7C95b6bC3C9220Fd8fBE1042aCAd590102',
+ 43114: '0x8fd3121013A07C57f0D69646E86E7a4880b467b7',
+ 80001: '0x132F13C3896eAB218762B9e46F55C9c478905849',
+}
diff --git a/source/indexer-registry/hardhat.config.js b/source/balances/hardhat.config.js
similarity index 100%
rename from source/indexer-registry/hardhat.config.js
rename to source/balances/hardhat.config.js
diff --git a/source/indexer-registry/package.json b/source/balances/package.json
similarity index 65%
rename from source/indexer-registry/package.json
rename to source/balances/package.json
index 08a6524e4..9612ae916 100644
--- a/source/indexer-registry/package.json
+++ b/source/balances/package.json
@@ -1,36 +1,31 @@
{
- "name": "@airswap/indexer-registry",
+ "name": "@airswap/balances",
"version": "4.0.0",
- "description": "AirSwap: Indexer Registry",
+ "description": "Batch balance and allowance calls",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/airswap/airswap-protocols"
},
- "files": [
- "./build",
- "./typechain",
- "./deploys.js"
- ],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
"test": "hardhat test",
- "test:unit": "hardhat test ./test/unit.js",
+ "test:unit": "hardhat test",
"deploy": "hardhat run ./scripts/deploy.js",
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@openzeppelin/contracts": "^4.8.1"
- },
- "publishConfig": {
- "access": "public"
+ "@openzeppelin/contracts": "^4.8.3"
},
"devDependencies": {
"@airswap/constants": "^4.0.0",
"@airswap/utils": "^4.0.0",
"prompt-confirm": "^2.0.4"
+ },
+ "publishConfig": {
+ "access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/source/indexer-registry/scripts/deploy.js b/source/balances/scripts/deploy.js
similarity index 63%
rename from source/indexer-registry/scripts/deploy.js
rename to source/balances/scripts/deploy.js
index 069cb355f..30a8c886b 100644
--- a/source/indexer-registry/scripts/deploy.js
+++ b/source/balances/scripts/deploy.js
@@ -3,8 +3,8 @@ const fs = require('fs')
const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const { chainNames } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
-const registryDeploys = require('../deploys.js')
+const { getReceiptUrl } = require('@airswap/utils')
+const swapDeploys = require('../deploys.js')
async function main() {
await run('compile')
@@ -19,19 +19,21 @@ async function main() {
const prompt = new Confirm('Proceed to deploy?')
if (await prompt.run()) {
- const registryFactory = await ethers.getContractFactory('IndexerRegistry')
- const registryContract = await registryFactory.deploy()
+ const balanceCheckerFactory = await ethers.getContractFactory(
+ 'BalanceChecker'
+ )
+ const balanceCheckerContract = await balanceCheckerFactory.deploy()
console.log(
'Deploying...',
- getEtherscanURL(chainId, registryContract.deployTransaction.hash)
+ getReceiptUrl(chainId, balanceCheckerContract.deployTransaction.hash)
)
- await registryContract.deployed()
- console.log(`Deployed: ${registryContract.address}`)
+ await balanceCheckerContract.deployed()
+ console.log(`Deployed: ${balanceCheckerContract.address}`)
- registryDeploys[chainId] = registryContract.address
+ swapDeploys[chainId] = balanceCheckerContract.address
fs.writeFileSync(
'./deploys.js',
- `module.exports = ${JSON.stringify(registryDeploys, null, '\t')}`
+ `module.exports = ${JSON.stringify(swapDeploys, null, '\t')}`
)
console.log('Updated deploys.js')
diff --git a/source/indexer-registry/scripts/verify.js b/source/balances/scripts/verify.js
similarity index 86%
rename from source/indexer-registry/scripts/verify.js
rename to source/balances/scripts/verify.js
index fa390c7f5..d62c5651f 100644
--- a/source/indexer-registry/scripts/verify.js
+++ b/source/balances/scripts/verify.js
@@ -1,7 +1,7 @@
/* eslint-disable no-console */
const { ethers, run } = require('hardhat')
-const registryDeploys = require('../deploys.js')
const { chainNames } = require('@airswap/constants')
+const swapDeploys = require('../deploys.js')
async function main() {
await run('compile')
@@ -12,7 +12,7 @@ async function main() {
console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
await run('verify:verify', {
- address: registryDeploys[chainId],
+ address: swapDeploys[chainId],
constructorArguments: [],
})
}
diff --git a/source/indexer-registry/tsconfig.json b/source/balances/tsconfig.json
similarity index 100%
rename from source/indexer-registry/tsconfig.json
rename to source/balances/tsconfig.json
diff --git a/source/indexer-registry/README.md b/source/indexer-registry/README.md
deleted file mode 100644
index 5b812c8ae..000000000
--- a/source/indexer-registry/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# IndexerRegistry
-
-[AirSwap](https://www.airswap.io/) is an open-source peer-to-peer trading network.
-
-[![Discord](https://img.shields.io/discord/590643190281928738.svg)](https://discord.gg/ecQbV7H)
-[![License](https://img.shields.io/badge/License-MIT-blue)](https://opensource.org/licenses/MIT)
-![Twitter Follow](https://img.shields.io/twitter/follow/airswap?style=social)
-
-## Resources
-
-- About → https://about.airswap.io/
-- Website → https://www.airswap.io/
-- Twitter → https://twitter.com/airswap
-- Chat → https://chat.airswap.io/
-
-## Usage
-
-:warning: This package may contain unaudited code. For all AirSwap contract deployments see [Deployed Contracts](https://about.airswap.io/technology/deployments).
-
-## Commands
-
-Environment variables are set in an `.env` file in the repository root.
-
-| Command | Description |
-| :--------------- | :--------------------------------------- |
-| `yarn` | Install dependencies |
-| `yarn clean` | Delete the contract `build` folder |
-| `yarn compile` | Compile all contracts to `build` folder |
-| `yarn coverage` | Report test coverage |
-| `yarn test` | Run all tests in `test` folder |
-| `yarn test:unit` | Run unit tests in `test` folder |
-| `yarn deploy` | Deploy on a network using --network flag |
-| `yarn verify` | Verify on a network using --network flag |
-
-## Running Tests
-
-:bulb: Prior to testing locally, run `yarn compile` in the `airswap-protocols` project root to build required artifacts.
diff --git a/source/indexer-registry/contracts/IndexerRegistry.sol b/source/indexer-registry/contracts/IndexerRegistry.sol
deleted file mode 100644
index 27fb7f424..000000000
--- a/source/indexer-registry/contracts/IndexerRegistry.sol
+++ /dev/null
@@ -1,48 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-pragma solidity ^0.8.0;
-
-import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
-import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
-import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
-
-/**
- * @title AirSwap: Indexer Registry
- * @notice https://www.airswap.io/
- */
-contract IndexerRegistry {
- using SafeERC20 for IERC20;
- using EnumerableSet for EnumerableSet.AddressSet;
-
- EnumerableSet.AddressSet internal supportingStakers;
- mapping(address => string) public stakerURLs;
-
- event Stake(address indexed account);
- event Unstake(address indexed account);
- event SetURL(address indexed account, string url);
-
- /**
- * @notice Set the URL for a staker
- * @param _url string value of the URL
- */
- function setURL(string calldata _url) external {
- if (bytes(stakerURLs[msg.sender]).length == 0) {
- supportingStakers.add(msg.sender);
- emit Stake(msg.sender);
- }
- stakerURLs[msg.sender] = _url;
- emit SetURL(msg.sender, _url);
- }
-
- /**
- * @notice Return a list of all server URLs supporting a given token
- * @return urls array of server URLs supporting the token
- */
- function getURLs() external view returns (string[] memory urls) {
- uint256 length = supportingStakers.length();
- urls = new string[](length);
- for (uint256 i = 0; i < length; i++) {
- urls[i] = stakerURLs[address(supportingStakers.at(i))];
- }
- }
-}
diff --git a/source/indexer-registry/deploys.js b/source/indexer-registry/deploys.js
deleted file mode 100644
index fceb82840..000000000
--- a/source/indexer-registry/deploys.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- 5: '0xC32a3c867aBAd28d977e1724f92D9684fF3d2976',
-}
diff --git a/source/indexer-registry/test/unit.js b/source/indexer-registry/test/unit.js
deleted file mode 100644
index 518fa7aa7..000000000
--- a/source/indexer-registry/test/unit.js
+++ /dev/null
@@ -1,65 +0,0 @@
-const { expect } = require('chai')
-const { ethers, waffle } = require('hardhat')
-const { deployMockContract } = waffle
-const IERC20 = require('@openzeppelin/contracts/build/contracts/IERC20.json')
-
-describe('IndexerRegistry Unit', () => {
- let snapshotId
- let deployer
- let account1
- let account2
- let stakingToken
- let registryFactory
- let registry
-
- beforeEach(async () => {
- snapshotId = await ethers.provider.send('evm_snapshot')
- })
-
- afterEach(async () => {
- await ethers.provider.send('evm_revert', [snapshotId])
- })
-
- before(async () => {
- ;[deployer, account1, account2, token1, token2, token3] =
- await ethers.getSigners()
- stakingToken = await deployMockContract(deployer, IERC20.abi)
- registryFactory = await ethers.getContractFactory('IndexerRegistry')
- registry = await registryFactory.deploy()
- await registry.deployed()
- })
-
- describe('Set URL', async () => {
- it('successful setting of url', async () => {
- await stakingToken.mock.transferFrom.returns(true)
- await expect(registry.connect(account1).setURL('www.noneURL.com'))
- .to.emit(registry, 'SetURL')
- .withArgs(account1.address, 'www.noneURL.com')
-
- const urls = await registry.getURLs()
- expect(urls.length).to.equal(1)
- expect(urls[0]).to.equal('www.noneURL.com')
- })
-
- it('successful changing of url, check by staker', async () => {
- await stakingToken.mock.transferFrom.returns(true)
- await registry.connect(account1).setURL('www.noneURL.com')
- await registry.connect(account1).setURL('www.TheCatsMeow.com')
-
- const urls = await registry.getURLs()
- expect(urls.length).to.equal(1)
- expect(urls[0]).to.equal('www.TheCatsMeow.com')
- })
-
- it('successful fetching of multiple urls', async () => {
- await stakingToken.mock.transferFrom.returns(true)
- await registry.connect(account1).setURL('www.noneURL.com')
- await registry.connect(account2).setURL('www.TheCatsMeow.com')
-
- const urls = await registry.getURLs()
- expect(urls.length).to.equal(2)
- expect(urls[0]).to.equal('www.noneURL.com')
- expect(urls[1]).to.equal('www.TheCatsMeow.com')
- })
- })
-})
diff --git a/source/maker-registry/.npmignore b/source/maker-registry/.npmignore
deleted file mode 100644
index a814035d1..000000000
--- a/source/maker-registry/.npmignore
+++ /dev/null
@@ -1,12 +0,0 @@
-node_modules
-yarn-error.log
-lerna-debug.log
-.DS_Store
-*.swp
-*.orig
-coverage.json
-coverage
-test
-scripts
-cache
-.env
\ No newline at end of file
diff --git a/source/maker-registry/LICENSE b/source/maker-registry/LICENSE
deleted file mode 100644
index 25fb212c5..000000000
--- a/source/maker-registry/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2023 AirSwap
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/source/maker-registry/contracts/MakerRegistry.sol b/source/maker-registry/contracts/MakerRegistry.sol
deleted file mode 100644
index 80fd10138..000000000
--- a/source/maker-registry/contracts/MakerRegistry.sol
+++ /dev/null
@@ -1,219 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-pragma solidity ^0.8.0;
-
-import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
-import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
-import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
-
-/**
- * @title AirSwap: Maker Registry
- * @notice https://www.airswap.io/
- */
-contract MakerRegistry {
- using SafeERC20 for IERC20;
- using EnumerableSet for EnumerableSet.AddressSet;
-
- IERC20 public immutable stakingToken;
- uint256 public immutable obligationCost;
- uint256 public immutable tokenCost;
- mapping(address => EnumerableSet.AddressSet) internal supportedTokens;
- mapping(address => EnumerableSet.AddressSet) internal supportingStakers;
- mapping(address => string) public stakerURLs;
-
- event InitialStake(address indexed account);
- event FullUnstake(address indexed account);
- event AddTokens(address indexed account, address[] tokens);
- event RemoveTokens(address indexed account, address[] tokens);
- event SetURL(address indexed account, string url);
-
- /**
- * @notice Constructor
- * @param _stakingToken address of token used for staking
- * @param _obligationCost base amount required to stake
- * @param _tokenCost amount required to stake per token
- */
- constructor(
- IERC20 _stakingToken,
- uint256 _obligationCost,
- uint256 _tokenCost
- ) {
- stakingToken = _stakingToken;
- obligationCost = _obligationCost;
- tokenCost = _tokenCost;
- }
-
- /**
- * @notice Set the URL for a staker
- * @param _url string value of the URL
- */
- function setURL(string calldata _url) external {
- stakerURLs[msg.sender] = _url;
- emit SetURL(msg.sender, _url);
- }
-
- /**
- * @notice Add tokens supported by the caller
- * @param tokens array of token addresses
- */
- function addTokens(address[] calldata tokens) external {
- uint256 length = tokens.length;
- require(length > 0, "NO_TOKENS_TO_ADD");
- EnumerableSet.AddressSet storage tokenList = supportedTokens[msg.sender];
-
- uint256 transferAmount = 0;
- if (tokenList.length() == 0) {
- transferAmount = obligationCost;
- emit InitialStake(msg.sender);
- }
- for (uint256 i = 0; i < length; i++) {
- address token = tokens[i];
- require(tokenList.add(token), "TOKEN_EXISTS");
- supportingStakers[token].add(msg.sender);
- }
- transferAmount += tokenCost * length;
- emit AddTokens(msg.sender, tokens);
- if (transferAmount > 0) {
- stakingToken.safeTransferFrom(msg.sender, address(this), transferAmount);
- }
- }
-
- /**
- * @notice Remove tokens supported by the caller
- * @param tokens array of token addresses
- */
- function removeTokens(address[] calldata tokens) external {
- uint256 length = tokens.length;
- require(length > 0, "NO_TOKENS_TO_REMOVE");
- EnumerableSet.AddressSet storage tokenList = supportedTokens[msg.sender];
- for (uint256 i = 0; i < length; i++) {
- address token = tokens[i];
- require(tokenList.remove(token), "TOKEN_DOES_NOT_EXIST");
- supportingStakers[token].remove(msg.sender);
- }
- uint256 transferAmount = tokenCost * length;
- if (tokenList.length() == 0) {
- transferAmount += obligationCost;
- emit FullUnstake(msg.sender);
- }
- emit RemoveTokens(msg.sender, tokens);
- if (transferAmount > 0) {
- stakingToken.safeTransfer(msg.sender, transferAmount);
- }
- }
-
- /**
- * @notice Remove all tokens supported by the caller
- */
- function removeAllTokens() external {
- EnumerableSet.AddressSet storage supportedTokenList = supportedTokens[
- msg.sender
- ];
- uint256 length = supportedTokenList.length();
- require(length > 0, "NO_TOKENS_TO_REMOVE");
- address[] memory tokenList = new address[](length);
-
- for (uint256 i = length; i > 0; ) {
- i--;
- address token = supportedTokenList.at(i);
- tokenList[i] = token;
- supportedTokenList.remove(token);
- supportingStakers[token].remove(msg.sender);
- }
- uint256 transferAmount = obligationCost + tokenCost * length;
- emit FullUnstake(msg.sender);
- emit RemoveTokens(msg.sender, tokenList);
- if (transferAmount > 0) {
- stakingToken.safeTransfer(msg.sender, transferAmount);
- }
- }
-
- /**
- * @notice Return a list of all server URLs supporting a given token
- * @param token address of the token
- * @return urls array of server URLs supporting the token
- */
- function getURLsForToken(
- address token
- ) external view returns (string[] memory urls) {
- EnumerableSet.AddressSet storage stakers = supportingStakers[token];
- uint256 length = stakers.length();
- urls = new string[](length);
- for (uint256 i = 0; i < length; i++) {
- urls[i] = stakerURLs[address(stakers.at(i))];
- }
- }
-
- /**
- * @notice Get the URLs for an array of stakers
- * @param stakers array of staker addresses
- * @return urls array of server URLs in the same order
- */
- function getURLsForStakers(
- address[] calldata stakers
- ) external view returns (string[] memory urls) {
- uint256 stakersLength = stakers.length;
- urls = new string[](stakersLength);
- for (uint256 i = 0; i < stakersLength; i++) {
- urls[i] = stakerURLs[stakers[i]];
- }
- }
-
- /**
- * @notice Return whether a staker supports a given token
- * @param staker account address used to stake
- * @param token address of the token
- * @return true if the staker supports the token
- */
- function supportsToken(
- address staker,
- address token
- ) external view returns (bool) {
- return supportedTokens[staker].contains(token);
- }
-
- /**
- * @notice Return a list of all supported tokens for a given staker
- * @param staker account address of the staker
- * @return tokenList array of all the supported tokens
- */
- function getSupportedTokens(
- address staker
- ) external view returns (address[] memory tokenList) {
- EnumerableSet.AddressSet storage tokens = supportedTokens[staker];
- uint256 length = tokens.length();
- tokenList = new address[](length);
- for (uint256 i = 0; i < length; i++) {
- tokenList[i] = tokens.at(i);
- }
- }
-
- /**
- * @notice Return a list of all stakers supporting a given token
- * @param token address of the token
- * @return stakers array of all stakers that support a given token
- */
- function getStakersForToken(
- address token
- ) external view returns (address[] memory stakers) {
- EnumerableSet.AddressSet storage stakerList = supportingStakers[token];
- uint256 length = stakerList.length();
- stakers = new address[](length);
- for (uint256 i = 0; i < length; i++) {
- stakers[i] = stakerList.at(i);
- }
- }
-
- /**
- * @notice Return the staking balance of a given staker
- * @param staker address of the account used to stake
- * @return balance of the staker account
- */
- function balanceOf(address staker) external view returns (uint256) {
- uint256 tokenCount = supportedTokens[staker].length();
- if (tokenCount == 0) {
- return 0;
- }
- return obligationCost + tokenCost * tokenCount;
- }
-}
diff --git a/source/maker-registry/deploys.js b/source/maker-registry/deploys.js
deleted file mode 100644
index 50a9a0e21..000000000
--- a/source/maker-registry/deploys.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
- 1: '0x8F9DA6d38939411340b19401E8c54Ea1f51B8f95',
- 5: '0x05545815a5579d80Bd4c380da3487EAC2c4Ce299',
- 30: '0xE0EE84592b12cfcd03843DE12b58852879ee6FF5',
- 31: '0x517d482F686f11b922EED764692f2b42663ce2fa',
- 56: '0x9F11691FA842856E44586380b27Ac331ab7De93d',
- 97: '0x05545815a5579d80Bd4c380da3487EAC2c4Ce299',
- 137: '0x9F11691FA842856E44586380b27Ac331ab7De93d',
- 42161: '0xaBF694A434E0fE3b951409C01aa2db50Af4D2E3A',
- 43113: '0x4F290e83B414097C107F5AD483a9ae15434B43d3',
- 43114: '0xE40feb39fcb941A633deC965Abc9921b3FE962b2',
- 80001: '0x05545815a5579d80Bd4c380da3487EAC2c4Ce299',
- 421613: '0x517d482F686f11b922EED764692f2b42663ce2fa',
-}
diff --git a/source/pool/deploys.js.d.ts b/source/pool/deploys.js.d.ts
new file mode 100644
index 000000000..fe65925fc
--- /dev/null
+++ b/source/pool/deploys.js.d.ts
@@ -0,0 +1 @@
+declare module '@airswap/pool/deploys.js'
diff --git a/source/pool/package.json b/source/pool/package.json
index 7438901c6..623a6a2f3 100644
--- a/source/pool/package.json
+++ b/source/pool/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/pool",
- "version": "4.0.0",
+ "version": "4.0.1",
"description": "AirSwap: Rewards Pool",
"license": "MIT",
"repository": {
@@ -13,18 +13,18 @@
"./deploys.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
"test": "hardhat test",
- "test:unit": "hardhat test ./test/Pool.js",
+ "test:unit": "hardhat test",
"deploy": "hardhat run ./scripts/deploy.js",
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@airswap/staking": "^4.0.0",
- "@openzeppelin/contracts": "^4.8.1"
+ "@airswap/staking": "4.0.1",
+ "@openzeppelin/contracts": "^4.8.3"
},
"devDependencies": {
"@airswap/constants": "^4.0.0",
@@ -35,4 +35,4 @@
"publishConfig": {
"access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/source/pool/scripts/deploy.js b/source/pool/scripts/deploy.js
index 3719dcee5..1f487d7e0 100644
--- a/source/pool/scripts/deploy.js
+++ b/source/pool/scripts/deploy.js
@@ -4,7 +4,7 @@ const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const stakingDeploys = require('@airswap/staking/deploys.js')
const { chainNames, stakingTokenAddresses } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const { getReceiptUrl } = require('@airswap/utils')
const poolDeploys = require('../deploys.js')
async function main() {
@@ -35,7 +35,7 @@ async function main() {
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, poolContract.deployTransaction.hash)
+ getReceiptUrl(chainId, poolContract.deployTransaction.hash)
)
await poolContract.deployed()
console.log(`Deployed: ${poolContract.address}`)
diff --git a/source/pool/test/Pool.js b/source/pool/test/Pool.js
index edf574225..52fc31cf9 100644
--- a/source/pool/test/Pool.js
+++ b/source/pool/test/Pool.js
@@ -59,7 +59,7 @@ describe('Pool Unit', () => {
stakeContract = await (
await ethers.getContractFactory(STAKING.abi, STAKING.bytecode)
- ).deploy(feeToken.address, 'StakedAST', 'sAST', 100, 10)
+ ).deploy('StakedAST', 'sAST', feeToken.address, 100, 10)
await stakeContract.deployed()
pool = await (
diff --git a/source/pool/test/PoolIntegration.js b/source/pool/test/PoolIntegration.js
index 04110dcf2..b9be4ebe9 100644
--- a/source/pool/test/PoolIntegration.js
+++ b/source/pool/test/PoolIntegration.js
@@ -61,7 +61,7 @@ describe('Pool Integration', () => {
stakeContract = await (
await ethers.getContractFactory(STAKING.abi, STAKING.bytecode)
- ).deploy(feeToken.address, 'StakedAST', 'sAST', 100, 1)
+ ).deploy('StakedAST', 'sAST', feeToken.address, 100, 1)
await stakeContract.deployed()
pool = await (
diff --git a/source/indexer-registry/.npmignore b/source/registry/.npmignore
similarity index 100%
rename from source/indexer-registry/.npmignore
rename to source/registry/.npmignore
diff --git a/source/indexer-registry/LICENSE b/source/registry/LICENSE
similarity index 100%
rename from source/indexer-registry/LICENSE
rename to source/registry/LICENSE
diff --git a/source/maker-registry/README.md b/source/registry/README.md
similarity index 100%
rename from source/maker-registry/README.md
rename to source/registry/README.md
diff --git a/source/registry/contracts/Registry.sol b/source/registry/contracts/Registry.sol
new file mode 100644
index 000000000..f5911896e
--- /dev/null
+++ b/source/registry/contracts/Registry.sol
@@ -0,0 +1,353 @@
+// SPDX-License-Identifier: MIT
+
+pragma solidity ^0.8.17;
+
+import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
+import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
+import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
+
+/**
+ * @title AirSwap: Server URL Registry
+ * @notice https://www.airswap.io/
+ */
+contract Registry {
+ using SafeERC20 for IERC20;
+ using EnumerableSet for EnumerableSet.AddressSet;
+ using EnumerableSet for EnumerableSet.Bytes32Set;
+
+ IERC20 public immutable stakingToken;
+ uint256 public immutable obligationCost;
+ uint256 public immutable tokenCost;
+ mapping(address => EnumerableSet.AddressSet) internal tokensByStaker;
+ mapping(address => EnumerableSet.Bytes32Set) internal protocolsByStaker;
+ mapping(address => EnumerableSet.AddressSet) internal stakersByToken;
+ mapping(bytes4 => EnumerableSet.AddressSet) internal stakersByProtocol;
+ mapping(address => string) public stakerServerURLs;
+
+ event InitialStake(address indexed account);
+ event FullUnstake(address indexed account);
+ event AddTokens(address indexed account, address[] tokens);
+ event RemoveTokens(address indexed account, address[] tokens);
+ event AddProtocols(address indexed account, bytes4[] protocols);
+ event RemoveProtocols(address indexed account, bytes4[] protocols);
+ event SetServerURL(address indexed account, string url);
+
+ error NoProtocolsToAdd();
+ error NoProtocolsToRemove();
+ error ProtocolDoesNotExist(bytes4);
+ error ProtocolExists(bytes4);
+ error NoTokensToAdd();
+ error NoTokensToRemove();
+ error TokenDoesNotExist(address);
+ error TokenExists(address);
+
+ /**
+ * @notice Constructor
+ * @param _stakingToken address of token used for staking
+ * @param _obligationCost base amount required to stake
+ * @param _tokenCost amount required to stake per protocol
+ */
+ constructor(
+ IERC20 _stakingToken,
+ uint256 _obligationCost,
+ uint256 _tokenCost
+ ) {
+ stakingToken = _stakingToken;
+ obligationCost = _obligationCost;
+ tokenCost = _tokenCost;
+ }
+
+ /**
+ * @notice Set the server URL for a staker
+ * @param _url string value of the ServerURL
+ */
+ function setServerURL(string calldata _url) external {
+ stakerServerURLs[msg.sender] = _url;
+ emit SetServerURL(msg.sender, _url);
+ }
+
+ /**
+ * @notice Add tokens supported by the caller
+ * @param _tokens array of token addresses
+ */
+ function addTokens(address[] calldata _tokens) external {
+ uint256 _length = _tokens.length;
+ if (_length <= 0) revert NoTokensToAdd();
+ EnumerableSet.AddressSet storage tokenList = tokensByStaker[msg.sender];
+
+ uint256 _transferAmount = 0;
+ if (tokenList.length() == 0) {
+ _transferAmount = obligationCost;
+ emit InitialStake(msg.sender);
+ }
+ for (uint256 i = 0; i < _length; i++) {
+ address _token = _tokens[i];
+ if (!tokenList.add(_token)) revert TokenExists(_token);
+ stakersByToken[_token].add(msg.sender);
+ }
+ _transferAmount += tokenCost * _length;
+ emit AddTokens(msg.sender, _tokens);
+ if (_transferAmount > 0) {
+ stakingToken.safeTransferFrom(msg.sender, address(this), _transferAmount);
+ }
+ }
+
+ /**
+ * @notice Remove tokens supported by the caller
+ * @param _tokens array of token addresses
+ */
+ function removeTokens(address[] calldata _tokens) external {
+ uint256 _length = _tokens.length;
+ if (_length <= 0) revert NoTokensToRemove();
+ EnumerableSet.AddressSet storage tokenList = tokensByStaker[msg.sender];
+ for (uint256 i = 0; i < _length; i++) {
+ address token = _tokens[i];
+ if (!tokenList.remove(token)) revert TokenDoesNotExist(token);
+ stakersByToken[token].remove(msg.sender);
+ }
+ uint256 _transferAmount = tokenCost * _length;
+ if (tokenList.length() == 0) {
+ _transferAmount += obligationCost;
+ emit FullUnstake(msg.sender);
+ }
+ emit RemoveTokens(msg.sender, _tokens);
+ if (_transferAmount > 0) {
+ stakingToken.safeTransfer(msg.sender, _transferAmount);
+ }
+ }
+
+ /**
+ * @notice Remove all tokens supported by the caller
+ */
+ function removeAllTokens() external {
+ EnumerableSet.AddressSet storage supportedTokenList = tokensByStaker[
+ msg.sender
+ ];
+ uint256 _length = supportedTokenList.length();
+ if (_length <= 0) revert NoTokensToRemove();
+ address[] memory _tokenList = new address[](_length);
+
+ for (uint256 i = _length; i > 0; ) {
+ i--;
+ address _token = supportedTokenList.at(i);
+ _tokenList[i] = _token;
+ supportedTokenList.remove(_token);
+ stakersByToken[_token].remove(msg.sender);
+ }
+ uint256 _transferAmount = obligationCost + tokenCost * _length;
+ emit FullUnstake(msg.sender);
+ emit RemoveTokens(msg.sender, _tokenList);
+ if (_transferAmount > 0) {
+ stakingToken.safeTransfer(msg.sender, _transferAmount);
+ }
+ }
+
+ /**
+ * @notice Return a list of all server URLs supporting a given token
+ * @param _token address of the token
+ * @return urls array of staker server URLs supporting the token
+ */
+ function getServerURLsForToken(
+ address _token
+ ) external view returns (string[] memory urls) {
+ EnumerableSet.AddressSet storage stakers = stakersByToken[_token];
+ uint256 _length = stakers.length();
+ urls = new string[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ urls[i] = stakerServerURLs[address(stakers.at(i))];
+ }
+ }
+
+ /**
+ * @notice Return whether a staker supports a given token
+ * @param _staker account address used to stake
+ * @param _token address of the token
+ * @return true if the staker supports the token
+ */
+ function supportsToken(
+ address _staker,
+ address _token
+ ) external view returns (bool) {
+ return tokensByStaker[_staker].contains(_token);
+ }
+
+ /**
+ * @notice Return a list of all supported tokens for a given staker
+ * @param _staker account address of the staker
+ * @return tokenList array of all the supported tokens
+ */
+ function getTokensForStaker(
+ address _staker
+ ) external view returns (address[] memory tokenList) {
+ EnumerableSet.AddressSet storage tokens = tokensByStaker[_staker];
+ uint256 _length = tokens.length();
+ tokenList = new address[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ tokenList[i] = tokens.at(i);
+ }
+ }
+
+ /**
+ * @notice Return a list of all stakers supporting a given token
+ * @param _token address of the token
+ * @return _stakers array of all stakers that support a given token
+ */
+ function getStakersForToken(
+ address _token
+ ) external view returns (address[] memory _stakers) {
+ EnumerableSet.AddressSet storage stakerList = stakersByToken[_token];
+ uint256 _length = stakerList.length();
+ _stakers = new address[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ _stakers[i] = stakerList.at(i);
+ }
+ }
+
+ /**
+ * @notice Add protocols supported by the caller
+ * @param _protocols array of protocol addresses
+ */
+ function addProtocols(bytes4[] calldata _protocols) external {
+ uint256 _length = _protocols.length;
+ if (_length <= 0) revert NoProtocolsToAdd();
+ EnumerableSet.Bytes32Set storage _protocolList = protocolsByStaker[
+ msg.sender
+ ];
+
+ for (uint256 i = 0; i < _length; i++) {
+ bytes4 protocol = _protocols[i];
+ if (!_protocolList.add(protocol)) revert ProtocolExists(protocol);
+ stakersByProtocol[protocol].add(msg.sender);
+ }
+ emit AddProtocols(msg.sender, _protocols);
+ }
+
+ /**
+ * @notice Remove protocols supported by the caller
+ * @param _protocols array of protocol addresses
+ */
+ function removeProtocols(bytes4[] calldata _protocols) external {
+ uint256 _length = _protocols.length;
+ if (_length <= 0) revert NoProtocolsToRemove();
+ EnumerableSet.Bytes32Set storage protocolList = protocolsByStaker[
+ msg.sender
+ ];
+ for (uint256 i = 0; i < _length; i++) {
+ bytes4 _protocol = _protocols[i];
+ if (!protocolList.remove(_protocol))
+ revert ProtocolDoesNotExist(_protocol);
+ stakersByProtocol[_protocol].remove(msg.sender);
+ }
+ emit RemoveProtocols(msg.sender, _protocols);
+ }
+
+ /**
+ * @notice Remove all protocols supported by the caller
+ */
+ function removeAllProtocols() external {
+ EnumerableSet.Bytes32Set storage _supportedProtocolList = protocolsByStaker[
+ msg.sender
+ ];
+ uint256 _length = _supportedProtocolList.length();
+ if (_length <= 0) revert NoProtocolsToRemove();
+ bytes4[] memory protocolList = new bytes4[](_length);
+
+ for (uint256 i = _length; i > 0; ) {
+ i--;
+ bytes4 _protocol = bytes4(_supportedProtocolList.at(i));
+ protocolList[i] = _protocol;
+ _supportedProtocolList.remove(_protocol);
+ stakersByProtocol[_protocol].remove(msg.sender);
+ }
+ emit RemoveProtocols(msg.sender, protocolList);
+ }
+
+ /**
+ * @notice Return a list of all server URLs supporting a given protocol
+ * @param _protocol address of the protocol
+ * @return _urls array of staker server URLs supporting the protocol
+ */
+ function getServerURLsForProtocol(
+ bytes4 _protocol
+ ) external view returns (string[] memory _urls) {
+ EnumerableSet.AddressSet storage stakers = stakersByProtocol[_protocol];
+ uint256 _length = stakers.length();
+ _urls = new string[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ _urls[i] = stakerServerURLs[address(stakers.at(i))];
+ }
+ }
+
+ /**
+ * @notice Get the ServerURLs for an array of stakers
+ * @param _stakers array of staker addresses
+ * @return _urls array of staker ServerURLs in the same order
+ */
+ function getServerURLsForStakers(
+ address[] calldata _stakers
+ ) external view returns (string[] memory _urls) {
+ uint256 stakersLength = _stakers.length;
+ _urls = new string[](stakersLength);
+ for (uint256 i = 0; i < stakersLength; i++) {
+ _urls[i] = stakerServerURLs[_stakers[i]];
+ }
+ }
+
+ /**
+ * @notice Return whether a staker supports a given protocol
+ * @param _staker account address used to stake
+ * @param _protocol address of the protocol
+ * @return true if the staker supports the protocol
+ */
+ function supportsProtocol(
+ address _staker,
+ bytes4 _protocol
+ ) external view returns (bool) {
+ return protocolsByStaker[_staker].contains(_protocol);
+ }
+
+ /**
+ * @notice Return a list of all supported protocols for a given staker
+ * @param _staker account address of the staker
+ * @return _protocolList array of all the supported protocols
+ */
+ function getProtocolsForStaker(
+ address _staker
+ ) external view returns (bytes4[] memory _protocolList) {
+ EnumerableSet.Bytes32Set storage _protocols = protocolsByStaker[_staker];
+ uint256 _length = _protocols.length();
+ _protocolList = new bytes4[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ _protocolList[i] = bytes4(_protocols.at(i));
+ }
+ }
+
+ /**
+ * @notice Return a list of all stakers supporting a given protocol
+ * @param _protocol address of the protocol
+ * @return _stakers array of all stakers that support a given protocol
+ */
+ function getStakersForProtocol(
+ bytes4 _protocol
+ ) external view returns (address[] memory _stakers) {
+ EnumerableSet.AddressSet storage _stakerList = stakersByProtocol[_protocol];
+ uint256 _length = _stakerList.length();
+ _stakers = new address[](_length);
+ for (uint256 i = 0; i < _length; i++) {
+ _stakers[i] = _stakerList.at(i);
+ }
+ }
+
+ /**
+ * @notice Return the staking balance of a given staker
+ * @param _staker address of the account used to stake
+ * @return balance of the staker account
+ */
+ function balanceOf(address _staker) external view returns (uint256) {
+ uint256 _tokenCount = tokensByStaker[_staker].length();
+ if (_tokenCount == 0) {
+ return 0;
+ }
+ return obligationCost + tokenCost * _tokenCount;
+ }
+}
diff --git a/source/registry/deploys.js b/source/registry/deploys.js
new file mode 100644
index 000000000..087314c62
--- /dev/null
+++ b/source/registry/deploys.js
@@ -0,0 +1,5 @@
+module.exports = {
+ 1: '0xf5E6730c5A915b6f47AeAB0952655036aE2e73E9',
+ 5: '0x6787cD07B0E6934BA9c3D1eBf3866eF091697128',
+ 59140: '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
+}
diff --git a/source/registry/deploys.js.d.ts b/source/registry/deploys.js.d.ts
new file mode 100644
index 000000000..13ee47dbe
--- /dev/null
+++ b/source/registry/deploys.js.d.ts
@@ -0,0 +1 @@
+declare module '@airswap/registry/deploys.js'
diff --git a/source/maker-registry/hardhat.config.js b/source/registry/hardhat.config.js
similarity index 100%
rename from source/maker-registry/hardhat.config.js
rename to source/registry/hardhat.config.js
diff --git a/source/maker-registry/package.json b/source/registry/package.json
similarity index 76%
rename from source/maker-registry/package.json
rename to source/registry/package.json
index e42829d96..8e4f4bfd5 100644
--- a/source/maker-registry/package.json
+++ b/source/registry/package.json
@@ -1,7 +1,7 @@
{
- "name": "@airswap/maker-registry",
- "version": "4.0.1",
- "description": "AirSwap: Maker Registry",
+ "name": "@airswap/registry",
+ "version": "4.0.2",
+ "description": "AirSwap: Server URL Registry",
"license": "MIT",
"repository": {
"type": "git",
@@ -13,7 +13,7 @@
"./deploys.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
@@ -23,7 +23,7 @@
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@openzeppelin/contracts": "^4.8.1"
+ "@openzeppelin/contracts": "^4.8.3"
},
"publishConfig": {
"access": "public"
diff --git a/source/maker-registry/scripts/deploy.js b/source/registry/scripts/deploy.js
similarity index 75%
rename from source/maker-registry/scripts/deploy.js
rename to source/registry/scripts/deploy.js
index 98310d083..8907168d3 100644
--- a/source/maker-registry/scripts/deploy.js
+++ b/source/registry/scripts/deploy.js
@@ -3,27 +3,29 @@ const fs = require('fs')
const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const { chainNames, stakingTokenAddresses } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const { getReceiptUrl } = require('@airswap/utils')
const registryDeploys = require('../deploys.js')
async function main() {
await run('compile')
const [deployer] = await ethers.getSigners()
- console.log(`Deployer: ${deployer.address}`)
-
const chainId = await deployer.getChainId()
const gasPrice = await deployer.getGasPrice()
const stakingToken = stakingTokenAddresses[chainId]
- const obligationCost = 0
- const tokenCost = 0
+ const obligationCost = 1000000000
+ const tokenCost = 1000000
+ console.log(`\nstakingToken: ${stakingToken}`)
+ console.log(`obligationCost: ${obligationCost}`)
+ console.log(`tokenCost: ${tokenCost}\n`)
+
+ console.log(`Deployer: ${deployer.address}`)
console.log(`Deploying on ${chainNames[chainId].toUpperCase()}`)
- console.log(`Staking token: ${stakingToken}`)
- console.log(`Gas price: ${gasPrice / 10 ** 9} gwei`)
+ console.log(`Gas price: ${gasPrice / 10 ** 9} gwei\n`)
const prompt = new Confirm('Proceed to deploy?')
if (await prompt.run()) {
- const registryFactory = await ethers.getContractFactory('MakerRegistry')
+ const registryFactory = await ethers.getContractFactory('Registry')
const registryContract = await registryFactory.deploy(
stakingToken,
obligationCost,
@@ -31,7 +33,7 @@ async function main() {
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, registryContract.deployTransaction.hash)
+ getReceiptUrl(chainId, registryContract.deployTransaction.hash)
)
await registryContract.deployed()
console.log(`Deployed: ${registryContract.address}`)
diff --git a/source/maker-registry/scripts/verify.js b/source/registry/scripts/verify.js
similarity index 92%
rename from source/maker-registry/scripts/verify.js
rename to source/registry/scripts/verify.js
index 6950bbf4e..e2e8f274f 100644
--- a/source/maker-registry/scripts/verify.js
+++ b/source/registry/scripts/verify.js
@@ -10,8 +10,8 @@ async function main() {
const chainId = await deployer.getChainId()
const stakingToken = stakingTokenAddresses[chainId]
- const obligationCost = 0
- const tokenCost = 0
+ const obligationCost = 1000000000
+ const tokenCost = 1000000
console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
await run('verify:verify', {
diff --git a/source/maker-registry/test/unit.js b/source/registry/test/unit.js
similarity index 57%
rename from source/maker-registry/test/unit.js
rename to source/registry/test/unit.js
index fe4fc92cb..a82fae862 100644
--- a/source/maker-registry/test/unit.js
+++ b/source/registry/test/unit.js
@@ -3,11 +3,14 @@ const { ethers, waffle } = require('hardhat')
const { deployMockContract } = waffle
const IERC20 = require('@openzeppelin/contracts/build/contracts/IERC20.json')
-describe('MakerRegistry Unit', () => {
+describe('Registry Unit', () => {
let snapshotId
let deployer
let account1
let account2
+ let protocol1
+ let protocol2
+ let protocol3
let token1
let token2
let token3
@@ -29,8 +32,11 @@ describe('MakerRegistry Unit', () => {
before(async () => {
;[deployer, account1, account2, token1, token2, token3] =
await ethers.getSigners()
+ protocol1 = '0x00000001'
+ protocol2 = '0x00000002'
+ protocol3 = '0x00000003'
stakingToken = await deployMockContract(deployer, IERC20.abi)
- registryFactory = await ethers.getContractFactory('MakerRegistry')
+ registryFactory = await ethers.getContractFactory('Registry')
registry = await registryFactory.deploy(
stakingToken.address,
OBLIGATION_COST,
@@ -50,10 +56,176 @@ describe('MakerRegistry Unit', () => {
})
})
+ describe('Add Protocols', async () => {
+ it('add an empty list of protocols fails', async () => {
+ await expect(
+ registry.connect(account1).addProtocols([])
+ ).to.be.revertedWith('NoProtocolsToAdd()')
+ })
+
+ it('add a list of protocols', async () => {
+ await expect(
+ registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+ )
+ .to.emit(registry, 'AddProtocols')
+ .withArgs(account1.address, [protocol1, protocol2, protocol3])
+
+ const protocols = await registry.getProtocolsForStaker(account1.address)
+ expect(protocols.length).to.equal(3)
+ expect(protocols[0]).to.equal(protocol1)
+ expect(protocols[1]).to.equal(protocol2)
+ expect(protocols[2]).to.equal(protocol3)
+
+ const protocol1Stakers = await registry.getStakersForProtocol(protocol1)
+ const protocol2Stakers = await registry.getStakersForProtocol(protocol2)
+ const protocol3Stakers = await registry.getStakersForProtocol(protocol3)
+ expect(protocol1Stakers.length).to.equal(1)
+ expect(protocol2Stakers.length).to.equal(1)
+ expect(protocol3Stakers.length).to.equal(1)
+ expect(protocol1Stakers[0]).to.equal(account1.address)
+ expect(protocol2Stakers[0]).to.equal(account1.address)
+ expect(protocol3Stakers[0]).to.equal(account1.address)
+
+ const protocol1Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol1
+ )
+ const protocol2Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol2
+ )
+ const protocol3Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol3
+ )
+ expect(protocol1Supported).to.equal(true)
+ expect(protocol2Supported).to.equal(true)
+ expect(protocol3Supported).to.equal(true)
+ })
+
+ it('add a list of duplicate protocols fails', async () => {
+ await expect(
+ registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol1])
+ ).to.be.revertedWith(`ProtocolExists("${protocol1}")`)
+ })
+
+ it('add a duplicate token', async () => {
+ await registry.connect(account1).addProtocols([protocol1, protocol2])
+ await expect(
+ registry.connect(account1).addProtocols([protocol1])
+ ).to.be.revertedWith(`ProtocolExists("${protocol1}")`)
+ })
+ })
+
+ describe('Remove Protocols', async () => {
+ it('remove an empty list of protocols fails', async () => {
+ await expect(
+ registry.connect(account1).removeProtocols([])
+ ).to.be.revertedWith('NoProtocolsToRemove()')
+ })
+
+ it('remove a list of protocols', async () => {
+ await registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+
+ await expect(
+ registry
+ .connect(account1)
+ .removeProtocols([protocol1, protocol2, protocol3])
+ )
+ .to.emit(registry, 'RemoveProtocols')
+ .withArgs(account1.address, [protocol1, protocol2, protocol3])
+
+ const protocols = await registry.getProtocolsForStaker(account1.address)
+ expect(protocols.length).to.equal(0)
+
+ const protocol1Stakers = await registry.getStakersForProtocol(protocol1)
+ const protocol2Stakers = await registry.getStakersForProtocol(protocol2)
+ const protocol3Stakers = await registry.getStakersForProtocol(protocol3)
+ expect(protocol1Stakers.length).to.equal(0)
+ expect(protocol2Stakers.length).to.equal(0)
+ expect(protocol3Stakers.length).to.equal(0)
+
+ const protocol1Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol1
+ )
+ const protocol2Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol2
+ )
+ const protocol3Supported = await registry.supportsProtocol(
+ account1.address,
+ protocol3
+ )
+ expect(protocol1Supported).to.equal(false)
+ expect(protocol2Supported).to.equal(false)
+ expect(protocol3Supported).to.equal(false)
+ })
+
+ it('remove all protocols for a staker fails when there are no protocols to remove', async () => {
+ await expect(
+ registry.connect(account1).removeAllProtocols()
+ ).to.be.revertedWith('NoProtocolsToRemove()')
+ })
+
+ it('remove all protocols for a staker', async () => {
+ await registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+ await expect(registry.connect(account1).removeAllProtocols())
+ .to.emit(registry, 'RemoveProtocols')
+ .withArgs(account1.address, [protocol1, protocol2, protocol3])
+
+ //NOTE: Note that there are no guarantees on the ordering of values inside the array, and it may change when more values are added or removed.
+ // this is why protocol1, protocol2, protocol3 are in the above order
+ const protocols = await registry.getProtocolsForStaker(account1.address)
+ expect(protocols.length).to.equal(0)
+
+ const protocol1Stakers = await registry.getStakersForProtocol(protocol1)
+ const protocol2Stakers = await registry.getStakersForProtocol(protocol2)
+ const protocol3Stakers = await registry.getStakersForProtocol(protocol3)
+ expect(protocol1Stakers.length).to.equal(0)
+ expect(protocol2Stakers.length).to.equal(0)
+ expect(protocol3Stakers.length).to.equal(0)
+ })
+
+ it('remove a list of duplicate protocols fails', async () => {
+ await registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+
+ await expect(
+ registry
+ .connect(account1)
+ .removeProtocols([protocol1, protocol2, protocol1])
+ ).to.be.revertedWith(`ProtocolDoesNotExist("${protocol1}")`)
+ })
+
+ it('remove a token already removed fails', async () => {
+ await registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+
+ await registry
+ .connect(account1)
+ .removeProtocols([protocol1, protocol2, protocol3])
+
+ await expect(
+ registry.connect(account1).removeProtocols([protocol1])
+ ).to.be.revertedWith(`ProtocolDoesNotExist("${protocol1}")`)
+ })
+ })
+
describe('Add Tokens', async () => {
it('add an empty list of tokens fails', async () => {
await expect(registry.connect(account1).addTokens([])).to.be.revertedWith(
- 'NO_TOKENS_TO_ADD'
+ 'NoTokensToAdd()'
)
})
@@ -71,7 +243,7 @@ describe('MakerRegistry Unit', () => {
token3.address,
])
- const tokens = await registry.getSupportedTokens(account1.address)
+ const tokens = await registry.getTokensForStaker(account1.address)
expect(tokens.length).to.equal(3)
expect(tokens[0]).to.equal(token1.address)
expect(tokens[1]).to.equal(token2.address)
@@ -119,7 +291,7 @@ describe('MakerRegistry Unit', () => {
registry
.connect(account1)
.addTokens([token1.address, token2.address, token1.address])
- ).to.be.revertedWith('TOKEN_EXISTS')
+ ).to.be.revertedWith(`TokenExists("${token1.address}")`)
})
it('add a duplicate token', async () => {
@@ -129,7 +301,7 @@ describe('MakerRegistry Unit', () => {
.addTokens([token1.address, token2.address])
await expect(
registry.connect(account1).addTokens([token1.address])
- ).to.be.revertedWith('TOKEN_EXISTS')
+ ).to.be.revertedWith(`TokenExists("${token1.address}")`)
})
})
@@ -137,7 +309,7 @@ describe('MakerRegistry Unit', () => {
it('remove an empty list of tokens fails', async () => {
await expect(
registry.connect(account1).removeTokens([])
- ).to.be.revertedWith('NO_TOKENS_TO_REMOVE')
+ ).to.be.revertedWith('NoTokensToRemove()')
})
it('remove a list of tokens', async () => {
@@ -159,7 +331,7 @@ describe('MakerRegistry Unit', () => {
token3.address,
])
- const tokens = await registry.getSupportedTokens(account1.address)
+ const tokens = await registry.getTokensForStaker(account1.address)
expect(tokens.length).to.equal(0)
const token1Stakers = await registry.getStakersForToken(token1.address)
@@ -189,10 +361,10 @@ describe('MakerRegistry Unit', () => {
it('remove all tokens for a staker fails when there are no tokens to remove', async () => {
await expect(
registry.connect(account1).removeAllTokens()
- ).to.be.revertedWith('NO_TOKENS_TO_REMOVE')
+ ).to.be.revertedWith('NoTokensToRemove()')
})
- it('remove all tokens for an staker', async () => {
+ it('remove all tokens for a staker', async () => {
await stakingToken.mock.transfer.returns(true)
await stakingToken.mock.transferFrom.returns(true)
await registry
@@ -208,7 +380,7 @@ describe('MakerRegistry Unit', () => {
//NOTE: Note that there are no guarantees on the ordering of values inside the array, and it may change when more values are added or removed.
// this is why token1, token3, token2 are in the above order
- const tokens = await registry.getSupportedTokens(account1.address)
+ const tokens = await registry.getTokensForStaker(account1.address)
expect(tokens.length).to.equal(0)
const token1Stakers = await registry.getStakersForToken(token1.address)
@@ -230,7 +402,7 @@ describe('MakerRegistry Unit', () => {
registry
.connect(account1)
.removeTokens([token1.address, token2.address, token1.address])
- ).to.be.revertedWith('TOKEN_DOES_NOT_EXIST')
+ ).to.be.revertedWith(`TokenDoesNotExist("${token1.address}")`)
})
it('remove a token already removed fails', async () => {
@@ -246,7 +418,7 @@ describe('MakerRegistry Unit', () => {
await expect(
registry.connect(account1).removeTokens([token1.address])
- ).to.be.revertedWith('TOKEN_DOES_NOT_EXIST')
+ ).to.be.revertedWith(`TokenDoesNotExist("${token1.address}")`)
})
})
@@ -288,27 +460,27 @@ describe('MakerRegistry Unit', () => {
describe('Set URL', async () => {
it('successful setting of url', async () => {
- await expect(registry.connect(account1).setURL('www.noneURL.com'))
- .to.emit(registry, 'SetURL')
+ await expect(registry.connect(account1).setServerURL('www.noneURL.com'))
+ .to.emit(registry, 'SetServerURL')
.withArgs(account1.address, 'www.noneURL.com')
- const urls = await registry.getURLsForStakers([account1.address])
+ const urls = await registry.getServerURLsForStakers([account1.address])
expect(urls.length).to.equal(1)
expect(urls[0]).to.equal('www.noneURL.com')
})
it('successful changing of url, check by staker', async () => {
- await registry.connect(account1).setURL('www.noneURL.com')
- await registry.connect(account1).setURL('www.TheCatsMeow.com')
+ await registry.connect(account1).setServerURL('www.noneURL.com')
+ await registry.connect(account1).setServerURL('www.TheCatsMeow.com')
- const urls = await registry.getURLsForStakers([account1.address])
+ const urls = await registry.getServerURLsForStakers([account1.address])
expect(urls.length).to.equal(1)
expect(urls[0]).to.equal('www.TheCatsMeow.com')
})
it('successful changing of url, check by token', async () => {
- await registry.connect(account1).setURL('www.noneURL.com')
- await registry.connect(account1).setURL('www.TheCatsMeow.com')
+ await registry.connect(account1).setServerURL('www.noneURL.com')
+ await registry.connect(account1).setServerURL('www.TheCatsMeow.com')
await stakingToken.mock.transferFrom.returns(true)
await expect(
@@ -323,16 +495,34 @@ describe('MakerRegistry Unit', () => {
token3.address,
])
- const urls = await registry.getURLsForToken(token3.address)
+ const urls = await registry.getServerURLsForToken(token3.address)
+ expect(urls.length).to.equal(1)
+ expect(urls[0]).to.equal('www.TheCatsMeow.com')
+ })
+
+ it('successful changing of url, check by protocol', async () => {
+ await registry.connect(account1).setServerURL('www.noneURL.com')
+ await registry.connect(account1).setServerURL('www.TheCatsMeow.com')
+
+ await stakingToken.mock.transferFrom.returns(true)
+ await expect(
+ registry
+ .connect(account1)
+ .addProtocols([protocol1, protocol2, protocol3])
+ )
+ .to.emit(registry, 'AddProtocols')
+ .withArgs(account1.address, [protocol1, protocol2, protocol3])
+
+ const urls = await registry.getServerURLsForProtocol(protocol3)
expect(urls.length).to.equal(1)
expect(urls[0]).to.equal('www.TheCatsMeow.com')
})
it('successful fetching of multiple urls', async () => {
- await registry.connect(account1).setURL('www.noneURL.com')
- await registry.connect(account2).setURL('www.TheCatsMeow.com')
+ await registry.connect(account1).setServerURL('www.noneURL.com')
+ await registry.connect(account2).setServerURL('www.TheCatsMeow.com')
- const urls = await registry.getURLsForStakers([
+ const urls = await registry.getServerURLsForStakers([
account1.address,
account2.address,
])
@@ -342,9 +532,9 @@ describe('MakerRegistry Unit', () => {
})
it('successful fetching of multiple urls where one address has an empty url', async () => {
- await registry.connect(account1).setURL('www.noneURL.com')
+ await registry.connect(account1).setServerURL('www.noneURL.com')
- const urls = await registry.getURLsForStakers([
+ const urls = await registry.getServerURLsForStakers([
account1.address,
account2.address,
])
diff --git a/source/maker-registry/tsconfig.json b/source/registry/tsconfig.json
similarity index 100%
rename from source/maker-registry/tsconfig.json
rename to source/registry/tsconfig.json
diff --git a/source/staking/contracts/Staking.sol b/source/staking/contracts/Staking.sol
index c6f1dd735..9bb541b4a 100644
--- a/source/staking/contracts/Staking.sol
+++ b/source/staking/contracts/Staking.sol
@@ -1,11 +1,9 @@
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.0;
-import "@openzeppelin/contracts/access/Ownable.sol";
-import "@openzeppelin/contracts/utils/math/SafeMath.sol";
+pragma solidity ^0.8.17;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
-import "@openzeppelin/contracts/utils/math/Math.sol";
+import "@openzeppelin/contracts/access/Ownable.sol";
import "./interfaces/IStaking.sol";
/**
@@ -14,19 +12,18 @@ import "./interfaces/IStaking.sol";
*/
contract Staking is IStaking, Ownable {
using SafeERC20 for ERC20;
- using SafeMath for uint256;
// Token to be staked
- ERC20 public immutable token;
+ ERC20 public immutable stakingToken;
// Unstaking duration
- uint256 public duration;
+ uint256 public stakingDuration;
- // Timelock delay
- uint256 private minDelay;
+ // Minimum delay to staking duration change
+ uint256 private minDurationChangeDelay;
- // Timeunlock timestamp
- uint256 private timeUnlock;
+ // Timestamp after which staking duration change is possible
+ uint256 private activeDurationChangeTimestamp;
// Mapping of account to stakes
mapping(address => Stake) internal stakes;
@@ -46,29 +43,30 @@ contract Staking is IStaking, Ownable {
/**
* @notice Constructor
- * @param _token address
- * @param _name string
- * @param _symbol string
- * @param _duration uint256
+ * @param _name string Token name for this contract
+ * @param _symbol string Token symbol for this contract
+ * @param _stakingToken address Token used for staking
+ * @param _stakingDuration uint256 Amount of time tokens are staked
+ * @param _minDurationChangeDelay uint256 Time delay for a duration change
*/
constructor(
- ERC20 _token,
string memory _name,
string memory _symbol,
- uint256 _duration,
- uint256 _minDelay
+ ERC20 _stakingToken,
+ uint256 _stakingDuration,
+ uint256 _minDurationChangeDelay
) {
- token = _token;
+ stakingToken = _stakingToken;
+ stakingDuration = _stakingDuration;
+ minDurationChangeDelay = _minDurationChangeDelay;
name = _name;
symbol = _symbol;
- duration = _duration;
- minDelay = _minDelay;
}
/**
- * @notice Set metadata config
- * @param _name string
- * @param _symbol string
+ * @notice Set token metadata for this contract
+ * @param _name string Token name for this contract
+ * @param _symbol string Token symbol for this contract
*/
function setMetaData(
string memory _name,
@@ -80,152 +78,160 @@ contract Staking is IStaking, Ownable {
/**
* @dev Schedules timelock to change duration
- * @param delay uint256
+ * @param _delay uint256
*/
- function scheduleDurationChange(uint256 delay) external onlyOwner {
- require(timeUnlock == 0, "TIMELOCK_ACTIVE");
- require(delay >= minDelay, "INVALID_DELAY");
- timeUnlock = block.timestamp + delay;
- emit ScheduleDurationChange(timeUnlock);
+ function scheduleDurationChange(uint256 _delay) external onlyOwner {
+ if (activeDurationChangeTimestamp != 0) revert TimelockActive();
+ if (_delay < minDurationChangeDelay) revert DelayInvalid(_delay);
+ activeDurationChangeTimestamp = block.timestamp + _delay;
+ emit ScheduleDurationChange(activeDurationChangeTimestamp);
}
/**
* @dev Cancels timelock to change duration
*/
function cancelDurationChange() external onlyOwner {
- require(timeUnlock > 0, "TIMELOCK_INACTIVE");
- delete timeUnlock;
+ if (activeDurationChangeTimestamp == 0) revert TimelockInactive();
+ delete activeDurationChangeTimestamp;
emit CancelDurationChange();
}
/**
* @notice Set unstaking duration
- * @param _duration uint256
+ * @param _stakingDuration uint256
*/
- function setDuration(uint256 _duration) external onlyOwner {
- require(_duration != 0, "DURATION_INVALID");
- require(timeUnlock > 0, "TIMELOCK_INACTIVE");
- require(block.timestamp >= timeUnlock, "TIMELOCKED");
- duration = _duration;
- delete timeUnlock;
- emit CompleteDurationChange(_duration);
+ function setDuration(uint256 _stakingDuration) external onlyOwner {
+ if (_stakingDuration == 0) revert DurationInvalid(_stakingDuration);
+ if (activeDurationChangeTimestamp == 0) revert TimelockInactive();
+ if (block.timestamp < activeDurationChangeTimestamp) revert Timelocked();
+ stakingDuration = _stakingDuration;
+ delete activeDurationChangeTimestamp;
+ emit CompleteDurationChange(_stakingDuration);
}
/**
* @notice Propose delegate for account
- * @param delegate address
+ * @param _delegate address
*/
- function proposeDelegate(address delegate) external {
- require(accountDelegates[msg.sender] == address(0), "SENDER_HAS_DELEGATE");
- require(delegateAccounts[delegate] == address(0), "DELEGATE_IS_TAKEN");
- require(stakes[delegate].balance == 0, "DELEGATE_MUST_NOT_BE_STAKED");
- proposedDelegates[msg.sender] = delegate;
- emit ProposeDelegate(delegate, msg.sender);
+ function proposeDelegate(address _delegate) external {
+ if (accountDelegates[msg.sender] != address(0))
+ revert SenderHasDelegate(msg.sender, _delegate);
+ if (delegateAccounts[_delegate] != address(0))
+ revert DelegateTaken(_delegate);
+ if (stakes[_delegate].balance != 0) revert DelegateStaked(_delegate);
+ proposedDelegates[msg.sender] = _delegate;
+ emit ProposeDelegate(_delegate, msg.sender);
}
/**
* @notice Set delegate for account
- * @param account address
+ * @param _account address
*/
- function setDelegate(address account) external {
- require(proposedDelegates[account] == msg.sender, "MUST_BE_PROPOSED");
- require(delegateAccounts[msg.sender] == address(0), "DELEGATE_IS_TAKEN");
- require(stakes[msg.sender].balance == 0, "DELEGATE_MUST_NOT_BE_STAKED");
- accountDelegates[account] = msg.sender;
- delegateAccounts[msg.sender] = account;
- delete proposedDelegates[account];
- emit SetDelegate(msg.sender, account);
+ function setDelegate(address _account) external {
+ if (proposedDelegates[_account] != msg.sender)
+ revert DelegateNotProposed(_account);
+ if (delegateAccounts[msg.sender] != address(0))
+ revert DelegateTaken(_account);
+ if (stakes[msg.sender].balance != 0) revert DelegateStaked(_account);
+ accountDelegates[_account] = msg.sender;
+ delegateAccounts[msg.sender] = _account;
+ delete proposedDelegates[_account];
+ emit SetDelegate(msg.sender, _account);
}
/**
* @notice Unset delegate for account
- * @param delegate address
+ * @param _delegate address
*/
- function unsetDelegate(address delegate) external {
- require(accountDelegates[msg.sender] == delegate, "DELEGATE_NOT_SET");
+ function unsetDelegate(address _delegate) external {
+ if (accountDelegates[msg.sender] != _delegate)
+ revert DelegateNotSet(_delegate);
accountDelegates[msg.sender] = address(0);
- delegateAccounts[delegate] = address(0);
+ delegateAccounts[_delegate] = address(0);
}
/**
* @notice Stake tokens
- * @param amount uint256
+ * @param _amount uint256
*/
- function stake(uint256 amount) external override {
+ function stake(uint256 _amount) external override {
if (delegateAccounts[msg.sender] != address(0)) {
- _stake(delegateAccounts[msg.sender], amount);
+ _stake(delegateAccounts[msg.sender], _amount);
} else {
- _stake(msg.sender, amount);
+ _stake(msg.sender, _amount);
}
}
/**
* @notice Unstake tokens
- * @param amount uint256
+ * @param _amount uint256
*/
- function unstake(uint256 amount) external override {
- address account;
+ function unstake(uint256 _amount) external override {
+ address _account;
delegateAccounts[msg.sender] != address(0)
- ? account = delegateAccounts[msg.sender]
- : account = msg.sender;
- _unstake(account, amount);
- token.safeTransfer(account, amount);
- emit Transfer(account, address(0), amount);
+ ? _account = delegateAccounts[msg.sender]
+ : _account = msg.sender;
+ _unstake(_account, _amount);
}
/**
* @notice Receive stakes for an account
- * @param account address
+ * @param _account address
*/
function getStakes(
- address account
- ) external view override returns (Stake memory accountStake) {
- return stakes[account];
+ address _account
+ ) external view override returns (Stake memory _accountStake) {
+ return stakes[_account];
}
/**
- * @notice Total balance of all accounts (ERC-20)
+ * @notice Get total balance of all staked accounts
*/
function totalSupply() external view override returns (uint256) {
- return token.balanceOf(address(this));
+ return stakingToken.balanceOf(address(this));
}
/**
- * @notice Balance of an account (ERC-20)
+ * @notice Get balance of an account
+ * @param _account address
*/
function balanceOf(
- address account
+ address _account
) external view override returns (uint256 total) {
- return stakes[account].balance;
+ return stakes[_account].balance;
}
/**
- * @notice Decimals of underlying token (ERC-20)
+ * @notice Get decimals of underlying token
*/
function decimals() external view override returns (uint8) {
- return token.decimals();
+ return stakingToken.decimals();
}
/**
* @notice Stake tokens for an account
- * @param account address
- * @param amount uint256
+ * @param _account address
+ * @param _amount uint256
*/
- function stakeFor(address account, uint256 amount) public override {
- _stake(account, amount);
+ function stakeFor(address _account, uint256 _amount) public override {
+ if (delegateAccounts[_account] != address(0)) {
+ _stake(delegateAccounts[_account], _amount);
+ } else {
+ _stake(_account, _amount);
+ }
}
/**
- * @notice Available amount for an account
- * @param account uint256
+ * @notice Amount available to withdraw for a given account
+ * @param _account uint256
*/
- function available(address account) public view override returns (uint256) {
- Stake storage selected = stakes[account];
- uint256 _available = (block.timestamp.sub(selected.timestamp))
- .mul(selected.balance)
- .div(selected.duration);
- if (_available >= stakes[account].balance) {
- return stakes[account].balance;
+ function available(address _account) public view override returns (uint256) {
+ Stake storage _selected = stakes[_account];
+ uint256 _available = (_selected.balance *
+ (block.timestamp - _selected.timestamp)) /
+ (_selected.maturity - _selected.timestamp);
+ if (_available >= _selected.balance) {
+ return _selected.balance;
} else {
return _available;
}
@@ -233,34 +239,48 @@ contract Staking is IStaking, Ownable {
/**
* @notice Stake tokens for an account
- * @param account address
- * @param amount uint256
+ * @param _account address
+ * @param _amount uint256
*/
- function _stake(address account, uint256 amount) internal {
- require(amount > 0, "AMOUNT_INVALID");
- stakes[account].duration = duration;
- if (stakes[account].balance == 0) {
- stakes[account].balance = amount;
- stakes[account].timestamp = block.timestamp;
+ function _stake(address _account, uint256 _amount) internal {
+ if (_amount <= 0) revert AmountInvalid(_amount);
+ stakes[_account].duration = stakingDuration;
+ if (stakes[_account].balance == 0) {
+ stakes[_account].balance = _amount;
+ stakes[_account].timestamp = block.timestamp;
+ stakes[_account].maturity =
+ stakes[_account].timestamp +
+ stakes[_account].duration;
} else {
- uint256 nowAvailable = available(account);
- stakes[account].balance = stakes[account].balance.add(amount);
- stakes[account].timestamp = block.timestamp.sub(
- nowAvailable.mul(stakes[account].duration).div(stakes[account].balance)
- );
+ uint256 _nowAvailable = available(_account);
+ stakes[_account].balance = stakes[_account].balance + _amount;
+ stakes[_account].timestamp =
+ block.timestamp -
+ ((_nowAvailable * stakes[_account].duration) /
+ stakes[_account].balance);
+ stakes[_account].maturity =
+ stakes[_account].timestamp +
+ stakes[_account].duration;
}
- token.safeTransferFrom(msg.sender, address(this), amount);
- emit Transfer(address(0), account, amount);
+ stakingToken.safeTransferFrom(msg.sender, address(this), _amount);
+ emit Transfer(address(0), _account, _amount);
}
/**
* @notice Unstake tokens
- * @param account address
- * @param amount uint256
+ * @param _account address
+ * @param _amount uint256
*/
- function _unstake(address account, uint256 amount) internal {
- Stake storage selected = stakes[account];
- require(amount <= available(account), "AMOUNT_EXCEEDS_AVAILABLE");
- selected.balance = selected.balance.sub(amount);
+ function _unstake(address _account, uint256 _amount) internal {
+ Stake storage _selected = stakes[_account];
+ if (_amount > available(_account)) revert AmountInvalid(_amount);
+ uint256 nowAvailable = available(_account);
+ _selected.balance = _selected.balance - _amount;
+ _selected.timestamp =
+ block.timestamp -
+ (((10000 - ((10000 * _amount) / nowAvailable)) *
+ (block.timestamp - _selected.timestamp)) / 10000);
+ stakingToken.safeTransfer(_account, _amount);
+ emit Transfer(_account, address(0), _amount);
}
}
diff --git a/source/staking/contracts/interfaces/IStaking.sol b/source/staking/contracts/interfaces/IStaking.sol
index 05b329638..638482ea9 100644
--- a/source/staking/contracts/interfaces/IStaking.sol
+++ b/source/staking/contracts/interfaces/IStaking.sol
@@ -1,12 +1,13 @@
// SPDX-License-Identifier: MIT
-pragma solidity ^0.8.0;
+pragma solidity ^0.8.17;
interface IStaking {
struct Stake {
uint256 duration;
uint256 balance;
uint256 timestamp;
+ uint256 maturity;
}
// ERC-20 Transfer event
@@ -27,6 +28,19 @@ interface IStaking {
// Set Delegate event
event SetDelegate(address indexed delegate, address indexed account);
+ error AmountInvalid(uint256);
+ error DelayInvalid(uint256);
+ error DelegateInvalid(address);
+ error DelegateNotProposed(address);
+ error DelegateNotSet(address);
+ error DelegateStaked(address);
+ error DelegateTaken(address);
+ error DurationInvalid(uint256);
+ error SenderHasDelegate(address sender, address delegate);
+ error TimelockActive();
+ error Timelocked();
+ error TimelockInactive();
+
/**
* @notice Stake tokens
* @param amount uint256
@@ -54,6 +68,7 @@ interface IStaking {
/**
* @notice Balance of an account (ERC-20)
+ * @param account address
*/
function balanceOf(address account) external view returns (uint256);
diff --git a/source/staking/deploys.js b/source/staking/deploys.js
index d68d36b6d..653f1b507 100644
--- a/source/staking/deploys.js
+++ b/source/staking/deploys.js
@@ -1,14 +1,4 @@
module.exports = {
- 1: '0x6d88B09805b90dad911E5C5A512eEDd984D6860B',
- 5: '0x4A2C0926f21723C56f6899dedbBb3DAE83A4C5dF',
- 30: '0xB1F80291d0EB60b75E7DF9422FB942d8FC575F4d',
- 31: '0x71070c5607358fc25E3B4aaf4FB0a580c190252a',
- 56: '0xDECA72bDA0cDf62d79b46B1585B380c9C6d57D9E',
- 97: '0x4A2C0926f21723C56f6899dedbBb3DAE83A4C5dF',
- 137: '0x71070c5607358fc25E3B4aaf4FB0a580c190252a',
- 42161: '0x71070c5607358fc25E3B4aaf4FB0a580c190252a',
- 43113: '0x50c13b3763075C9DA5Dfc4E88e77C3DaB4bf6af2',
- 43114: '0x71070c5607358fc25E3B4aaf4FB0a580c190252a',
- 80001: '0x4A2C0926f21723C56f6899dedbBb3DAE83A4C5dF',
- 421613: '0xb1B586AfA8a2AaB42826Fb2Ab9896CD0c686d0F4',
+ 1: '0x9fc450F9AfE2833Eb44f9A1369Ab3678D3929860',
+ 5: '0x51F372bE64F0612532F28142cECF8F204B272622',
}
diff --git a/source/staking/deploys.js.d.ts b/source/staking/deploys.js.d.ts
new file mode 100644
index 000000000..e1f05bafa
--- /dev/null
+++ b/source/staking/deploys.js.d.ts
@@ -0,0 +1 @@
+declare module '@airswap/staking/deploys.js'
diff --git a/source/staking/package.json b/source/staking/package.json
index 5df5b417b..843e806f9 100644
--- a/source/staking/package.json
+++ b/source/staking/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/staking",
- "version": "4.0.0",
+ "version": "4.0.1",
"description": "AirSwap: Stake Tokens",
"license": "MIT",
"repository": {
@@ -13,7 +13,7 @@
"./deploys.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
@@ -23,7 +23,7 @@
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@openzeppelin/contracts": "^4.8.1"
+ "@openzeppelin/contracts": "^4.8.3"
},
"publishConfig": {
"access": "public"
diff --git a/source/staking/scripts/deploy.js b/source/staking/scripts/deploy.js
index 4b8fa4271..31fb738a8 100644
--- a/source/staking/scripts/deploy.js
+++ b/source/staking/scripts/deploy.js
@@ -3,39 +3,43 @@ const fs = require('fs')
const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const { chainNames, stakingTokenAddresses } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const { getReceiptUrl } = require('@airswap/utils')
const stakingDeploys = require('../deploys.js')
async function main() {
await run('compile')
const [deployer] = await ethers.getSigners()
- console.log(`Deployer: ${deployer.address}`)
-
const chainId = await deployer.getChainId()
const gasPrice = await deployer.getGasPrice()
- const stakingToken = stakingTokenAddresses[chainId]
const name = 'Staked AST'
const symbol = 'sAST'
- const duration = 12096000
- const minDelay = 2419200
+ const stakingToken = stakingTokenAddresses[chainId]
+ const stakingDuration = 60 * 60 * 24 * 7 * 20 // Twenty Weeks
+ const minDurationChangeDelay = 60 * 60 * 24 * 7 // One Week
+ console.log(`\nname: ${name}`)
+ console.log(`symbol: ${symbol}`)
+ console.log(`stakingToken: ${stakingToken}`)
+ console.log(`stakingDuration: ${stakingDuration}`)
+ console.log(`minDurationChangeDelay: ${minDurationChangeDelay}\n`)
+
+ console.log(`Deployer: ${deployer.address}`)
console.log(`Deploying on ${chainNames[chainId].toUpperCase()}`)
- console.log(`Staking token: ${stakingToken}`)
- console.log(`Gas price: ${gasPrice / 10 ** 9} gwei`)
+ console.log(`Gas price: ${gasPrice / 10 ** 9} gwei\n`)
const prompt = new Confirm('Proceed to deploy?')
if (await prompt.run()) {
const stakingFactory = await ethers.getContractFactory('Staking')
const stakingContract = await stakingFactory.deploy(
- stakingToken,
name,
symbol,
- duration,
- minDelay
+ stakingToken,
+ stakingDuration,
+ minDurationChangeDelay
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, stakingContract.deployTransaction.hash)
+ getReceiptUrl(chainId, stakingContract.deployTransaction.hash)
)
await stakingContract.deployed()
console.log(`Deployed: ${stakingContract.address}`)
diff --git a/source/staking/scripts/verify.js b/source/staking/scripts/verify.js
index f7cdaa419..729054414 100644
--- a/source/staking/scripts/verify.js
+++ b/source/staking/scripts/verify.js
@@ -9,17 +9,23 @@ async function main() {
console.log(`Deployer: ${deployer.address}`)
const chainId = await deployer.getChainId()
- const stakingToken = stakingTokenAddresses[chainId]
const name = 'Staked AST'
const symbol = 'sAST'
- const duration = 12096000
- const minDelay = 2419200
+ const stakingToken = stakingTokenAddresses[chainId]
+ const stakingDuration = 60 * 60 * 24 * 7 * 20 // Twenty Weeks
+ const minDurationChangeDelay = 60 * 60 * 24 * 7 // One Week
console.log(`Contract: ${stakingDeploys[chainId]}`)
console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
await run('verify:verify', {
address: stakingDeploys[chainId],
- constructorArguments: [stakingToken, name, symbol, duration, minDelay],
+ constructorArguments: [
+ name,
+ symbol,
+ stakingToken,
+ stakingDuration,
+ minDurationChangeDelay,
+ ],
})
}
diff --git a/source/staking/test/Staking.js b/source/staking/test/Staking.js
index e1d82833d..05a97091e 100644
--- a/source/staking/test/Staking.js
+++ b/source/staking/test/Staking.js
@@ -28,9 +28,9 @@ describe('Staking Unit', () => {
token = await deployMockContract(deployer, IERC20.abi)
stakingFactory = await ethers.getContractFactory('Staking')
staking = await stakingFactory.deploy(
- token.address,
'Staked AST',
'sAST',
+ token.address,
DEFAULTDURATION,
DEFAULTDELAY
)
@@ -42,8 +42,8 @@ describe('Staking Unit', () => {
const owner = await staking.owner()
const name = await staking.name()
const symbol = await staking.symbol()
- const tokenAddress = await staking.token()
- const defaultduration = await staking.duration()
+ const tokenAddress = await staking.stakingToken()
+ const defaultduration = await staking.stakingDuration()
expect(owner).to.equal(deployer.address)
expect(name).to.equal('Staked AST')
@@ -89,12 +89,18 @@ describe('Staking Unit', () => {
)
})
+ it('non-owner cannot schedule a duration change', async () => {
+ await expect(
+ staking.connect(account1).scheduleDurationChange(DEFAULTDELAY)
+ ).to.be.revertedWith('Ownable: caller is not the owner')
+ })
+
it('owner cannot reset unstaking duration during timelock', async () => {
await staking.connect(deployer).scheduleDurationChange(DEFAULTDELAY)
await expect(
staking.connect(deployer).setDuration(DEFAULTDURATION)
- ).to.be.revertedWith('TIMELOCKED')
+ ).to.be.revertedWith('Timelocked()')
})
it('owner can set unstaking duration', async () => {
@@ -110,14 +116,14 @@ describe('Staking Unit', () => {
await staking.connect(deployer).setDuration(2 * DEFAULTDURATION)
).to.emit(staking, 'CompleteDurationChange')
- const defaultduration = await staking.duration()
+ const defaultduration = await staking.stakingDuration()
expect(defaultduration).to.equal(2 * DEFAULTDURATION)
})
it('owner cannot set timelock to be less than minimum delay', async () => {
await expect(
staking.connect(deployer).scheduleDurationChange(0)
- ).to.be.revertedWith('INVALID_DELAY')
+ ).to.be.revertedWith('DelayInvalid(0)')
})
it('owner cannot reschedule timelock duration change', async () => {
@@ -127,7 +133,7 @@ describe('Staking Unit', () => {
await expect(
staking.connect(deployer).scheduleDurationChange(DEFAULTDELAY)
- ).to.be.revertedWith('TIMELOCK_ACTIVE')
+ ).to.be.revertedWith('TimelockActive()')
})
it('Owner cannot set unstaking duration to zero', async () => {
@@ -138,7 +144,7 @@ describe('Staking Unit', () => {
await ethers.provider.send('evm_mine')
await expect(staking.connect(deployer).setDuration(0)).to.be.revertedWith(
- 'DURATION_INVALID'
+ 'DurationInvalid(0)'
)
})
@@ -156,13 +162,19 @@ describe('Staking Unit', () => {
await expect(
staking.connect(deployer).setDuration(DEFAULTDURATION * 2)
- ).to.be.revertedWith('TIMELOCK_INACTIVE')
+ ).to.be.revertedWith('TimelockInactive()')
+ })
+
+ it('Non-owner cannot cancel a duration change', async () => {
+ await expect(
+ staking.connect(account1).cancelDurationChange()
+ ).to.be.revertedWith('Ownable: caller is not the owner')
})
it('Owner cannot cancel timelock before it is set', async () => {
expect(
staking.connect(deployer).cancelDurationChange()
- ).to.be.revertedWith('TIMELOCK_INACTIVE')
+ ).to.be.revertedWith('TimelockInactive()')
})
})
@@ -199,7 +211,7 @@ describe('Staking Unit', () => {
it('unsuccessful staking when amount is 0', async () => {
await expect(staking.connect(account1).stake('0')).to.be.revertedWith(
- 'AMOUNT_INVALID'
+ 'AmountInvalid(0)'
)
})
@@ -207,7 +219,7 @@ describe('Staking Unit', () => {
await token.mock.transferFrom.returns(true)
await staking.connect(account1).stake('100')
await expect(staking.connect(account1).stake('0')).to.be.revertedWith(
- 'AMOUNT_INVALID'
+ 'AmountInvalid(0)'
)
})
@@ -259,7 +271,7 @@ describe('Staking Unit', () => {
it('unsuccessful stakeFor when user staking for with an amount of 0', async () => {
await expect(
staking.connect(account1).stakeFor(account2.address, '0')
- ).to.be.revertedWith('AMOUNT_INVALID')
+ ).to.be.revertedWith('AmountInvalid(0)')
})
it('successful stakeFor when existing stake is not fully unstakeable', async () => {
@@ -306,7 +318,7 @@ describe('Staking Unit', () => {
await ethers.provider.send('evm_mine', [block['timestamp'] + 10])
await expect(staking.connect(account1).unstake('12')).to.be.revertedWith(
- 'AMOUNT_EXCEEDS_AVAILABLE'
+ 'AmountInvalid(12)'
)
})
@@ -380,6 +392,36 @@ describe('Staking Unit', () => {
// every 1 block 2% is unstakeable
expect(available).to.equal('10')
})
+
+ it('the available balance should update', async () => {
+ await token.mock.transferFrom.returns(true)
+ await token.mock.transfer.returns(true)
+ await staking.connect(account1).stake('100')
+
+ let block = await ethers.provider.getBlock()
+ await ethers.provider.send('evm_mine', [block['timestamp'] + 10])
+
+ await staking.connect(account1).unstake('10')
+ const available = await staking.available(account1.address)
+ expect(available).to.equal('1')
+ })
+
+ it('the previous available balance should be maintained when not entirely unstaked', async () => {
+ await token.mock.transferFrom.returns(true)
+ await token.mock.transfer.returns(true)
+ await staking.connect(account1).stake('100')
+
+ let block = await ethers.provider.getBlock()
+ // With a duration of 100, increasing the timestamp by 10 will unlock 10% of the staked balance
+ await ethers.provider.send('evm_mine', [block['timestamp'] + 10])
+
+ // We withdraw 2
+ await staking.connect(account1).unstake('2')
+
+ // The unstaking operation mine a new block with a timestamp increased by 1 hence a new balance of 9 and not 8
+ const available = await staking.available(account1.address)
+ expect(available).to.equal('9')
+ })
})
describe('Delegate', async () => {
@@ -409,7 +451,7 @@ describe('Staking Unit', () => {
await staking.connect(account2).setDelegate(account1.address)
await expect(
staking.connect(deployer).proposeDelegate(account2.address)
- ).to.be.revertedWith('DELEGATE_IS_TAKEN')
+ ).to.be.revertedWith(`DelegateTaken("${account2.address}")`)
})
it('unsuccessful delegate proposed if already delegating', async () => {
@@ -417,7 +459,9 @@ describe('Staking Unit', () => {
await staking.connect(account2).setDelegate(account1.address)
await expect(
staking.connect(account1).proposeDelegate(deployer.address)
- ).to.be.revertedWith('SENDER_HAS_DELEGATE')
+ ).to.be.revertedWith(
+ `SenderHasDelegate("${account1.address}", "${deployer.address}")`
+ )
})
it('unsuccessful delegate set if already delegating', async () => {
@@ -426,7 +470,7 @@ describe('Staking Unit', () => {
await staking.connect(account2).setDelegate(account1.address)
await expect(
staking.connect(account2).setDelegate(deployer.address)
- ).to.be.revertedWith('DELEGATE_IS_TAKEN')
+ ).to.be.revertedWith(`DelegateTaken("${deployer.address}")`)
})
it('unsuccessful delegate set if delegate already staking', async () => {
@@ -434,7 +478,7 @@ describe('Staking Unit', () => {
await staking.connect(account2).stake('100')
await expect(
staking.connect(account1).proposeDelegate(account2.address)
- ).to.be.revertedWith('DELEGATE_MUST_NOT_BE_STAKED')
+ ).to.be.revertedWith(`DelegateStaked("${account2.address}")`)
})
it('unsuccessful delegate set if delegate stakes after proposal', async () => {
@@ -443,13 +487,13 @@ describe('Staking Unit', () => {
await staking.connect(account2).stake('100')
await expect(
staking.connect(account2).setDelegate(account1.address)
- ).to.be.revertedWith('DELEGATE_MUST_NOT_BE_STAKED')
+ ).to.be.revertedWith(`DelegateStaked("${account1.address}")`)
})
it('unsuccessful delegate set if not proposed', async () => {
await expect(
staking.connect(account2).setDelegate(account1.address)
- ).to.be.revertedWith('MUST_BE_PROPOSED')
+ ).to.be.revertedWith(`DelegateNotProposed("${account1.address}")`)
})
it('delegate can be removed', async () => {
@@ -468,7 +512,7 @@ describe('Staking Unit', () => {
it('unsuccessful delegate removed if not set as delegate', async () => {
await expect(
staking.connect(account1).unsetDelegate(account2.address)
- ).to.be.revertedWith('DELEGATE_NOT_SET')
+ ).to.be.revertedWith(`DelegateNotSet("${account2.address}")`)
})
it('successful staking with delegate', async () => {
@@ -485,6 +529,19 @@ describe('Staking Unit', () => {
expect(userStakes.timestamp).to.equal(block.timestamp)
})
+ it('successful staking for with delegate', async () => {
+ await token.mock.transferFrom.returns(true)
+ await staking.connect(account1).proposeDelegate(account2.address)
+ await staking.connect(account2).setDelegate(account1.address)
+ await staking.connect(account1).stakeFor(account2.address, '100')
+ const block = await ethers.provider.getBlock()
+ const userStakes = await staking
+ .connect(account2)
+ .getStakes(account1.address)
+ expect(userStakes.balance).to.equal(100)
+ expect(userStakes.timestamp).to.equal(block.timestamp)
+ })
+
it('successful unstaking with delegate', async () => {
await token.mock.transferFrom.returns(true)
await token.mock.transfer.returns(true)
diff --git a/source/swap-erc20/deploys.js b/source/swap-erc20/deploys.js
index 60a6b0318..85f1adf19 100644
--- a/source/swap-erc20/deploys.js
+++ b/source/swap-erc20/deploys.js
@@ -9,6 +9,7 @@ module.exports = {
42161: '0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
43113: '0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
43114: '0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
+ 59140: '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
80001: '0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
421613: '0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
}
diff --git a/source/swap-erc20/deploys.js.d.ts b/source/swap-erc20/deploys.js.d.ts
new file mode 100644
index 000000000..6eb974286
--- /dev/null
+++ b/source/swap-erc20/deploys.js.d.ts
@@ -0,0 +1 @@
+declare module '@airswap/swap-erc20/deploys.js'
diff --git a/source/swap-erc20/package.json b/source/swap-erc20/package.json
index f0ad5bf58..ac10e3b95 100644
--- a/source/swap-erc20/package.json
+++ b/source/swap-erc20/package.json
@@ -13,7 +13,7 @@
"./deploys.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
@@ -23,7 +23,7 @@
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@openzeppelin/contracts": "^4.8.1"
+ "@openzeppelin/contracts": "^4.8.3"
},
"devDependencies": {
"@airswap/constants": "^4.0.0",
diff --git a/source/swap-erc20/scripts/deploy.js b/source/swap-erc20/scripts/deploy.js
index 6d927f5ed..c64fecdaa 100644
--- a/source/swap-erc20/scripts/deploy.js
+++ b/source/swap-erc20/scripts/deploy.js
@@ -5,7 +5,7 @@ const { ethers, run } = require('hardhat')
const poolDeploys = require('@airswap/pool/deploys.js')
const stakingDeploys = require('@airswap/staking/deploys.js')
const { chainNames } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const { getReceiptUrl } = require('@airswap/utils')
const swapDeploys = require('../deploys.js')
async function main() {
@@ -40,7 +40,7 @@ async function main() {
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, swapContract.deployTransaction.hash)
+ getReceiptUrl(chainId, swapContract.deployTransaction.hash)
)
await swapContract.deployed()
console.log(`Deployed: ${swapContract.address}`)
diff --git a/source/swap/contracts/Swap.sol b/source/swap/contracts/Swap.sol
index 9bd42bc20..bd52e98f2 100644
--- a/source/swap/contracts/Swap.sol
+++ b/source/swap/contracts/Swap.sol
@@ -32,7 +32,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
bytes32 public immutable DOMAIN_SEPARATOR;
uint256 public constant FEE_DIVISOR = 10000;
- uint256 internal constant MAX_ERROR_COUNT = 15;
+ uint256 internal constant MAX_ERROR_COUNT = 16;
// Mapping of ERC165 interface ID to token adapter
mapping(bytes4 => IAdapter) public adapters;
@@ -121,7 +121,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
// Transfer from sender to affiliate if specified
if (order.affiliateWallet != address(0)) {
_transfer(
- order.sender.wallet,
+ msg.sender,
order.affiliateWallet,
order.affiliateAmount,
order.sender.id,
@@ -135,7 +135,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
FEE_DIVISOR;
if (protocolFeeAmount > 0) {
_transfer(
- order.sender.wallet,
+ msg.sender,
protocolFeeWallet,
protocolFeeAmount,
order.sender.id,
@@ -153,7 +153,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
if (royaltyAmount > 0) {
if (royaltyAmount > maxRoyalty) revert RoyaltyExceedsMax(royaltyAmount);
_transfer(
- order.sender.wallet,
+ msg.sender,
royaltyRecipient,
royaltyAmount,
order.sender.id,
@@ -251,6 +251,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
* @param order Order to settle
*/
function check(
+ address senderWallet,
Order calldata order
) public view returns (bytes32[] memory, uint256) {
uint256 errCount;
@@ -262,6 +263,13 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
order.s
);
+ if (
+ order.sender.wallet != address(0) && order.sender.wallet != senderWallet
+ ) {
+ errors[errCount] = "SenderInvalid";
+ errCount++;
+ }
+
if (signatory == address(0)) {
errors[errCount] = "SignatureInvalid";
errCount++;
@@ -325,7 +333,7 @@ contract Swap is ISwap, Ownable2Step, EIP712 {
protocolFeeAmount +
order.affiliateAmount;
Party memory sender = Party(
- order.sender.wallet,
+ senderWallet,
order.sender.token,
order.sender.kind,
order.sender.id,
diff --git a/source/swap/contracts/adapters/ERC1155Adapter.sol b/source/swap/contracts/adapters/ERC1155Adapter.sol
index 6266e720f..21a59aa50 100644
--- a/source/swap/contracts/adapters/ERC1155Adapter.sol
+++ b/source/swap/contracts/adapters/ERC1155Adapter.sol
@@ -14,9 +14,11 @@ contract ERC1155Adapter is IAdapter {
/**
* @notice Function to wrap token transfer for different token types
* @param party Party from whom swap would be made
+ * @dev Use call: "msg.sender" is Swap contract
*/
function hasAllowance(Party calldata party) external view returns (bool) {
- return IERC1155(party.token).isApprovedForAll(party.wallet, address(this));
+ return
+ IERC1155(party.token).isApprovedForAll(party.wallet, address(msg.sender));
}
/**
@@ -35,6 +37,7 @@ contract ERC1155Adapter is IAdapter {
* @param amount uint256 Amount for ERC-1155
* @param id uint256 token ID for ERC-1155
* @param token address Contract address of token
+ * @dev Use delegatecall: "this" is Swap contract
*/
function transfer(
address from,
diff --git a/source/swap/contracts/adapters/ERC20Adapter.sol b/source/swap/contracts/adapters/ERC20Adapter.sol
index ac4f6f040..0c847f6cf 100644
--- a/source/swap/contracts/adapters/ERC20Adapter.sol
+++ b/source/swap/contracts/adapters/ERC20Adapter.sol
@@ -16,10 +16,11 @@ contract ERC20Adapter is IAdapter {
/**
* @notice Function to wrap token transfer for different token types
* @param party Party from whom swap would be made
+ * @dev Use call: "msg.sender" is Swap contract
*/
function hasAllowance(Party calldata party) external view returns (bool) {
return
- IERC20(party.token).allowance(party.wallet, address(this)) >=
+ IERC20(party.token).allowance(party.wallet, address(msg.sender)) >=
party.amount;
}
@@ -38,6 +39,7 @@ contract ERC20Adapter is IAdapter {
* @param amount uint256 Amount for ERC20
* @param id uint256 ID, must be 0 for this contract
* @param token address Contract address of token
+ * @dev Use delegatecall: "this" is Swap contract
*/
function transfer(
address from,
diff --git a/source/swap/contracts/adapters/ERC721Adapter.sol b/source/swap/contracts/adapters/ERC721Adapter.sol
index cda4edb12..8d5257216 100644
--- a/source/swap/contracts/adapters/ERC721Adapter.sol
+++ b/source/swap/contracts/adapters/ERC721Adapter.sol
@@ -14,9 +14,10 @@ contract ERC721Adapter is IAdapter {
/**
* @notice Function to wrap token transfer for different token types
* @param party Party from whom swap would be made
+ * @dev Use call: "msg.sender" is Swap contract
*/
function hasAllowance(Party calldata party) external view returns (bool) {
- return IERC721(party.token).isApprovedForAll(party.wallet, address(this));
+ return IERC721(party.token).getApproved(party.id) == address(msg.sender);
}
/**
@@ -34,6 +35,7 @@ contract ERC721Adapter is IAdapter {
* @param amount uint256, must be 0 for this contract
* @param id uint256 ID for ERC721
* @param token address Contract address of token
+ * @dev Use delegatecall: "this" is Swap contract
*/
function transfer(
address from,
diff --git a/source/swap/deploys-adapters.js b/source/swap/deploys-adapters.js
index 9c1a2926b..15369d9b4 100644
--- a/source/swap/deploys-adapters.js
+++ b/source/swap/deploys-adapters.js
@@ -1,62 +1,17 @@
module.exports = {
1: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
+ '0xa71c528c89f3acf049e1ce00199dac9b48a70e18',
+ '0xee6f8e232d27aacc65e92dbf7c034d1061b8938d',
+ '0xe790b7919deaf5bc84809d8bec98e07e698e9e76',
],
5: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
+ '0x210b7145737388430434e966DB651E763362a35f',
+ '0xD2540236fD98DAeBa63Dd34C0216e78fDbF19B9c',
+ '0x48A0dac1bd81B0E11530108e6666ab32B567459B',
],
- 30: [
+ 59140: [
+ '0xa9964A60A620C00150114614F745646b898cFe32',
'0xCb3839A953533339273e251Dd179515b7bA9a309',
'0xd82FA167727a4dc6D6F55830A2c47aBbB4b3a0F8',
- '0x99568Ce6c9901097150403B7629CF426B859BC22',
- ],
- 31: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 56: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 97: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 137: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 42161: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 43113: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 43114: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 80001: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
- ],
- 421613: [
- '0xAa7fC83C31db055261cb88e5cAa02CAFe12c8dCD',
- '0x1E92FFC1c39a0a982c462f521a135a0407b21B71',
- '0xa9964A60A620C00150114614F745646b898cFe32',
],
}
diff --git a/source/swap/deploys.js b/source/swap/deploys.js
index bb67665d0..dbc3d137d 100644
--- a/source/swap/deploys.js
+++ b/source/swap/deploys.js
@@ -1,14 +1,5 @@
module.exports = {
- 1: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 5: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 30: '0x6787cD07B0E6934BA9c3D1eBf3866eF091697128',
- 31: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 56: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 97: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 137: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 42161: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 43113: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 43114: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 80001: '0xCb3839A953533339273e251Dd179515b7bA9a309',
- 421613: '0xCb3839A953533339273e251Dd179515b7bA9a309',
+ 1: '0x6aAf11d89bb380499EB14ddDE5ac6b45a0e15bEc',
+ 5: '0x974B5023E5b45a222E99036c3C9604D388E2d2B7',
+ 59140: '0x99568Ce6c9901097150403B7629CF426B859BC22',
}
diff --git a/source/swap/deploys.js.d.ts b/source/swap/deploys.js.d.ts
new file mode 100644
index 000000000..a3d7be66b
--- /dev/null
+++ b/source/swap/deploys.js.d.ts
@@ -0,0 +1 @@
+declare module '@airswap/swap/deploys.js'
diff --git a/source/swap/package.json b/source/swap/package.json
index aae60dc99..f7450a744 100644
--- a/source/swap/package.json
+++ b/source/swap/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/swap",
- "version": "4.0.2",
+ "version": "4.0.3",
"description": "AirSwap: Atomic Token Swap",
"license": "MIT",
"repository": {
@@ -10,20 +10,23 @@
"files": [
"./build",
"./typechain",
- "./deploys.js"
+ "./deploys.js",
+ "./deploys-adapters.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
"test": "hardhat test",
"test:unit": "hardhat test",
"deploy": "hardhat run ./scripts/deploy.js",
- "verify": "hardhat run ./scripts/verify.js"
+ "verify": "hardhat run ./scripts/verify.js",
+ "deploy-adapters": "hardhat run ./scripts/deploy-adapters.js",
+ "verify-adapters": "hardhat run ./scripts/verify-adapters.js"
},
"dependencies": {
- "@openzeppelin/contracts": "^4.8.1"
+ "@openzeppelin/contracts": "^4.8.3"
},
"devDependencies": {
"@airswap/constants": "^4.0.0",
diff --git a/source/swap/scripts/deploy-adapters.js b/source/swap/scripts/deploy-adapters.js
new file mode 100644
index 000000000..c11c92de0
--- /dev/null
+++ b/source/swap/scripts/deploy-adapters.js
@@ -0,0 +1,60 @@
+/* eslint-disable no-console */
+const fs = require('fs')
+const Confirm = require('prompt-confirm')
+const { ethers, run } = require('hardhat')
+const { chainNames, ChainIds } = require('@airswap/constants')
+const { getReceiptUrl } = require('@airswap/utils')
+const adapterDeploys = require('../deploys-adapters.js')
+
+async function main() {
+ await run('compile')
+ const [deployer] = await ethers.getSigners()
+ const gasPrice = await deployer.getGasPrice()
+ const chainId = await deployer.getChainId()
+ if (chainId === ChainIds.HARDHAT) {
+ console.log('Value for --network flag is required')
+ return
+ }
+
+ const adapters = ['ERC20Adapter', 'ERC721Adapter', 'ERC1155Adapter']
+
+ console.log(`\nadapters: ${JSON.stringify(adapters)}`)
+
+ console.log(`Deployer: ${deployer.address}`)
+ console.log(`Deploying on ${chainNames[chainId].toUpperCase()}`)
+ console.log(`Gas price: ${gasPrice / 10 ** 9} gwei\n`)
+
+ const prompt = new Confirm('Proceed to deploy?')
+ if (await prompt.run()) {
+ for (let i = 0; i < adapters.length; i++) {
+ const adapterContract = await (
+ await ethers.getContractFactory(adapters[i])
+ ).deploy()
+ console.log(
+ `Deploying ${adapters[i]}...`,
+ getReceiptUrl(chainId, adapterContract.deployTransaction.hash)
+ )
+ await adapterContract.deployed()
+ adapters[i] = adapterContract.address
+ }
+ adapterDeploys[chainId] = adapters
+ fs.writeFileSync(
+ './deploys-adapters.js',
+ `module.exports = ${JSON.stringify(adapterDeploys, null, '\t')}`
+ )
+ console.log('Updated deploys-adapters.js')
+
+ console.log(
+ `\nVerify with "yarn verify-adapters --network ${chainNames[
+ chainId
+ ].toLowerCase()}"\n`
+ )
+ }
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((error) => {
+ console.error(error)
+ process.exit(1)
+ })
diff --git a/source/swap/scripts/deploy.js b/source/swap/scripts/deploy.js
index f2eb95d1f..402fe2c5e 100644
--- a/source/swap/scripts/deploy.js
+++ b/source/swap/scripts/deploy.js
@@ -3,8 +3,8 @@ const fs = require('fs')
const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const poolDeploys = require('@airswap/pool/deploys.js')
-const { chainNames, chainIds, tokenKinds } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const { chainNames, ChainIds, TokenKinds } = require('@airswap/constants')
+const { getReceiptUrl } = require('@airswap/utils')
const swapDeploys = require('../deploys.js')
const adapterDeploys = require('../deploys-adapters.js')
@@ -13,47 +13,36 @@ async function main() {
const [deployer] = await ethers.getSigners()
const gasPrice = await deployer.getGasPrice()
const chainId = await deployer.getChainId()
- if (chainId === chainIds.HARDHAT) {
+ if (chainId === ChainIds.HARDHAT) {
console.log('Value for --network flag is required')
return
}
- console.log(`\nNetwork: ${chainNames[chainId].toUpperCase()}`)
- console.log(`Deployer: ${deployer.address}\n`)
-
- const protocolFeeWallet = poolDeploys[chainId]
+ const requiredSenderKind = TokenKinds.ERC20
const protocolFee = 7
- const adapters = ['ERC20Adapter', 'ERC721Adapter', 'ERC1155Adapter']
+ const protocolFeeWallet = poolDeploys[chainId]
- console.log(`adapters: ${JSON.stringify(adapters)}`)
+ console.log(`\nadapters: ${JSON.stringify(adapterDeploys[chainId])}`)
+ console.log(`requiredSenderKind: ${requiredSenderKind}`)
console.log(`protocolFee: ${protocolFee}`)
- console.log(`protocolFeeWallet: ${protocolFeeWallet}`)
+ console.log(`protocolFeeWallet: ${protocolFeeWallet}\n`)
- console.log(`\nGas price: ${gasPrice / 10 ** 9} gwei`)
+ console.log(`Deployer: ${deployer.address}`)
+ console.log(`Deploying on ${chainNames[chainId].toUpperCase()}`)
+ console.log(`Gas price: ${gasPrice / 10 ** 9} gwei\n`)
const prompt = new Confirm('Proceed to deploy?')
if (await prompt.run()) {
- for (let i = 0; i < adapters.length; i++) {
- const adapterContract = await (
- await ethers.getContractFactory(adapters[i])
- ).deploy()
- console.log(
- `Deploying ${adapters[i]}...`,
- getEtherscanURL(chainId, adapterContract.deployTransaction.hash)
- )
- await adapterContract.deployed()
- adapters[i] = adapterContract.address
- }
const swapFactory = await ethers.getContractFactory('Swap')
const swapContract = await swapFactory.deploy(
- adapters,
- tokenKinds.ERC20,
+ adapterDeploys[chainId],
+ requiredSenderKind,
protocolFee,
protocolFeeWallet
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, swapContract.deployTransaction.hash)
+ getReceiptUrl(chainId, swapContract.deployTransaction.hash)
)
await swapContract.deployed()
console.log(`Deployed: ${swapContract.address}`)
@@ -65,12 +54,6 @@ async function main() {
)
console.log('Updated deploys.js')
- adapterDeploys[chainId] = adapters
- fs.writeFileSync(
- './deploys-adapters.js',
- `module.exports = ${JSON.stringify(adapterDeploys, null, '\t')}`
- )
- console.log('Updated deploys-adapters.js')
console.log(
`\nVerify with "yarn verify --network ${chainNames[
chainId
diff --git a/source/swap/scripts/verify-adapters.js b/source/swap/scripts/verify-adapters.js
new file mode 100644
index 000000000..ee482299a
--- /dev/null
+++ b/source/swap/scripts/verify-adapters.js
@@ -0,0 +1,32 @@
+/* eslint-disable no-console */
+const { ethers, run } = require('hardhat')
+const { chainNames } = require('@airswap/constants')
+const adapterDeploys = require('../deploys-adapters.js')
+
+async function main() {
+ await run('compile')
+ const [deployer] = await ethers.getSigners()
+ console.log(`Deployer: ${deployer.address}`)
+
+ const chainId = await deployer.getChainId()
+
+ console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
+
+ for (let i = 0; i < adapterDeploys[chainId].length; i++) {
+ try {
+ await run('verify:verify', {
+ address: adapterDeploys[chainId][i],
+ constructorArguments: [],
+ })
+ } catch (e) {
+ console.log(e)
+ }
+ }
+}
+
+main()
+ .then(() => process.exit(0))
+ .catch((error) => {
+ console.error(error)
+ process.exit(1)
+ })
diff --git a/source/swap/scripts/verify.js b/source/swap/scripts/verify.js
index c1d16bba8..ffbde7b32 100644
--- a/source/swap/scripts/verify.js
+++ b/source/swap/scripts/verify.js
@@ -1,7 +1,7 @@
/* eslint-disable no-console */
const { ethers, run } = require('hardhat')
const poolDeploys = require('@airswap/pool/deploys.js')
-const { chainNames, tokenKinds } = require('@airswap/constants')
+const { chainNames, TokenKinds } = require('@airswap/constants')
const swapDeploys = require('../deploys.js')
const adapterDeploys = require('../deploys-adapters.js')
@@ -11,23 +11,17 @@ async function main() {
console.log(`Deployer: ${deployer.address}`)
const chainId = await deployer.getChainId()
- const protocolFeeWallet = poolDeploys[chainId]
+ const requiredSenderKind = TokenKinds.ERC20
const protocolFee = 7
+ const protocolFeeWallet = poolDeploys[chainId]
console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
- for (let i = 0; i < adapterDeploys[chainId].length; i++) {
- await run('verify:verify', {
- address: adapterDeploys[chainId][i],
- constructorArguments: [],
- })
- }
-
await run('verify:verify', {
address: swapDeploys[chainId],
constructorArguments: [
adapterDeploys[chainId],
- tokenKinds.ERC20,
+ requiredSenderKind,
protocolFee,
protocolFeeWallet,
],
diff --git a/source/swap/test/ERC1155Adapter.js b/source/swap/test/ERC1155Adapter.js
index 15ab96049..909c5a64e 100644
--- a/source/swap/test/ERC1155Adapter.js
+++ b/source/swap/test/ERC1155Adapter.js
@@ -2,7 +2,7 @@ const { expect } = require('chai')
const { ethers, waffle } = require('hardhat')
const IERC1155 = require('@openzeppelin/contracts/build/contracts/IERC1155.json')
const { deployMockContract } = waffle
-const { ADDRESS_ZERO, tokenKinds } = require('@airswap/constants')
+const { ADDRESS_ZERO, TokenKinds } = require('@airswap/constants')
let snapshotId
let adapter
@@ -25,7 +25,7 @@ describe('ERC1155Adapter Unit', () => {
party = {
wallet: ADDRESS_ZERO,
token: token.address,
- kind: tokenKinds.ERC1155,
+ kind: TokenKinds.ERC1155,
id: '0',
amount: '1',
}
@@ -33,11 +33,21 @@ describe('ERC1155Adapter Unit', () => {
it('hasAllowance succeeds', async () => {
await token.mock.isApprovedForAll
- .withArgs(party.wallet, adapter.address)
+ .withArgs(party.wallet, anyone.address)
.returns(true)
expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(true)
})
+ it('hasAllowance fails for wrong address', async () => {
+ await token.mock.isApprovedForAll
+ .withArgs(party.wallet, anyone.address)
+ .returns(false)
+ await token.mock.isApprovedForAll
+ .withArgs(party.wallet, deployer.address)
+ .returns(true)
+ expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(false)
+ })
+
it('hasBalance succeeds', async () => {
await token.mock.balanceOf.returns(party.amount)
expect(await adapter.hasBalance(party)).to.be.equal(true)
diff --git a/source/swap/test/ERC20Adapter.js b/source/swap/test/ERC20Adapter.js
index 550b7a0a1..0179b3f73 100644
--- a/source/swap/test/ERC20Adapter.js
+++ b/source/swap/test/ERC20Adapter.js
@@ -2,7 +2,7 @@ const { expect } = require('chai')
const { ethers, waffle } = require('hardhat')
const IERC20 = require('@openzeppelin/contracts/build/contracts/IERC20.json')
const { deployMockContract } = waffle
-const { ADDRESS_ZERO, tokenKinds } = require('@airswap/constants')
+const { ADDRESS_ZERO, TokenKinds } = require('@airswap/constants')
let snapshotId
let adapter
@@ -25,7 +25,7 @@ describe('ERC20Adapter Unit', () => {
party = {
wallet: ADDRESS_ZERO,
token: token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
id: '0',
amount: '1',
}
@@ -33,11 +33,21 @@ describe('ERC20Adapter Unit', () => {
it('hasAllowance succeeds', async () => {
await token.mock.allowance
- .withArgs(party.wallet, adapter.address)
+ .withArgs(party.wallet, anyone.address)
.returns('1')
expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(true)
})
+ it('hasAllowance fails for wrong address', async () => {
+ await token.mock.allowance
+ .withArgs(party.wallet, anyone.address)
+ .returns('0')
+ await token.mock.allowance
+ .withArgs(party.wallet, deployer.address)
+ .returns('1')
+ expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(false)
+ })
+
it('hasBalance succeeds', async () => {
await token.mock.balanceOf.returns('1')
expect(await adapter.hasBalance(party)).to.be.equal(true)
diff --git a/source/swap/test/ERC721Adapter.js b/source/swap/test/ERC721Adapter.js
index 63e5c8c79..6e4e062a7 100644
--- a/source/swap/test/ERC721Adapter.js
+++ b/source/swap/test/ERC721Adapter.js
@@ -2,7 +2,7 @@ const { expect } = require('chai')
const { ethers, waffle } = require('hardhat')
const IERC721 = require('@openzeppelin/contracts/build/contracts/IERC721.json')
const { deployMockContract } = waffle
-const { ADDRESS_ZERO, tokenKinds } = require('@airswap/constants')
+const { ADDRESS_ZERO, TokenKinds } = require('@airswap/constants')
let snapshotId
let adapter
@@ -25,19 +25,22 @@ describe('ERC721Adapter Unit', () => {
party = {
wallet: ADDRESS_ZERO,
token: token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
id: '1',
amount: '0',
}
})
it('hasAllowance succeeds', async () => {
- await token.mock.isApprovedForAll
- .withArgs(party.wallet, adapter.address)
- .returns(true)
+ await token.mock.getApproved.withArgs(party.id).returns(anyone.address)
expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(true)
})
+ it('hasAllowance fails for wrong address', async () => {
+ await token.mock.getApproved.withArgs(party.id).returns(deployer.address)
+ expect(await adapter.connect(anyone).hasAllowance(party)).to.be.equal(false)
+ })
+
it('hasBalance succeeds', async () => {
await token.mock.ownerOf.returns(party.wallet)
expect(await adapter.hasBalance(party)).to.be.equal(true)
diff --git a/source/swap/test/Swap.js b/source/swap/test/Swap.js
index b25f9daaf..b90c3e90d 100644
--- a/source/swap/test/Swap.js
+++ b/source/swap/test/Swap.js
@@ -5,7 +5,7 @@ const { deployMockContract } = waffle
const IERC20 = require('@openzeppelin/contracts/build/contracts/IERC20.json')
const IERC721 = require('@openzeppelin/contracts/build/contracts/ERC721Royalty.json')
const { createOrder, createOrderSignature } = require('@airswap/utils')
-const { tokenKinds, ADDRESS_ZERO } = require('@airswap/constants')
+const { TokenKinds, ADDRESS_ZERO } = require('@airswap/constants')
const CHAIN_ID = 31337
const PROTOCOL_FEE = '30'
@@ -41,7 +41,7 @@ async function createSignedOrder(params, signatory) {
signer: {
wallet: signer.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
id: '0',
amount: DEFAULT_AMOUNT,
...params.signer,
@@ -49,7 +49,7 @@ async function createSignedOrder(params, signatory) {
sender: {
wallet: sender.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
id: '0',
amount: DEFAULT_AMOUNT,
...params.sender,
@@ -92,7 +92,7 @@ describe('Swap Unit', () => {
await ethers.getContractFactory('Swap')
).deploy(
[erc20adapter.address, erc721adapter.address],
- tokenKinds.ERC20,
+ TokenKinds.ERC20,
PROTOCOL_FEE,
protocolFeeWallet.address
)
@@ -104,7 +104,7 @@ describe('Swap Unit', () => {
await expect(
(
await ethers.getContractFactory('Swap')
- ).deploy([], tokenKinds.ERC20, PROTOCOL_FEE, protocolFeeWallet.address)
+ ).deploy([], TokenKinds.ERC20, PROTOCOL_FEE, protocolFeeWallet.address)
).to.be.revertedWith('AdaptersInvalid()')
})
@@ -112,7 +112,7 @@ describe('Swap Unit', () => {
await expect(
(
await ethers.getContractFactory('Swap')
- ).deploy([], tokenKinds.ERC20, PROTOCOL_FEE, ADDRESS_ZERO)
+ ).deploy([], TokenKinds.ERC20, PROTOCOL_FEE, ADDRESS_ZERO)
).to.be.revertedWith('FeeWalletInvalid()')
})
@@ -140,7 +140,7 @@ describe('Swap Unit', () => {
await expect(
(
await ethers.getContractFactory('Swap')
- ).deploy([], tokenKinds.ERC20, INVALID_FEE, protocolFeeWallet.address)
+ ).deploy([], TokenKinds.ERC20, INVALID_FEE, protocolFeeWallet.address)
).to.be.revertedWith('FeeInvalid()')
})
@@ -202,7 +202,7 @@ describe('Swap Unit', () => {
{
signer: {
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
id: '1',
amount: '0',
},
@@ -226,7 +226,7 @@ describe('Swap Unit', () => {
{
signer: {
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
id: '1',
amount: '0',
},
@@ -250,7 +250,7 @@ describe('Swap Unit', () => {
{
signer: {
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
id: '1',
amount: '0',
},
@@ -271,7 +271,7 @@ describe('Swap Unit', () => {
{
signer: {
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
id: '1',
amount: '0',
},
@@ -484,7 +484,7 @@ describe('Swap Unit', () => {
).to.be.revertedWith('SenderInvalid()')
})
- it('a sender may take an order not specified for another sender', async () => {
+ it('a sender may take an order not specified for another sender (public order)', async () => {
const order = await createSignedOrder(
{
sender: {
@@ -559,7 +559,7 @@ describe('Swap Unit', () => {
const order = await createSignedOrder(
{
signer: {
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
token: erc721token.address,
amount: '0',
id: '0',
@@ -580,7 +580,7 @@ describe('Swap Unit', () => {
await erc20token.mock.allowance.returns(DEFAULT_AMOUNT + PROTOCOL_FEE)
await erc20token.mock.balanceOf.returns(DEFAULT_AMOUNT + PROTOCOL_FEE)
const order = await createSignedOrder({}, signer)
- const errors = await swap.check(order)
+ const errors = await swap.check(sender.address, order)
expect(errors[1]).to.equal(0)
})
@@ -588,7 +588,7 @@ describe('Swap Unit', () => {
await erc20token.mock.allowance.returns('0')
await erc20token.mock.balanceOf.returns('0')
const order = await createSignedOrder({}, signer)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('SignerAllowanceLow')
)
@@ -615,7 +615,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('SignerTokenKindUnknown')
)
@@ -628,12 +628,12 @@ describe('Swap Unit', () => {
const order = await createSignedOrder(
{
sender: {
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
},
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('SenderTokenInvalid')
)
@@ -649,7 +649,7 @@ describe('Swap Unit', () => {
await expect(
swap.connect(sender).swap(sender.address, MAX_ROYALTY, order)
).to.emit(swap, 'Swap')
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('NonceAlreadyUsed')
)
@@ -663,7 +663,7 @@ describe('Swap Unit', () => {
signer
)
await swap.connect(signer).cancelUpTo(3)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('NonceTooLow')
)
@@ -675,12 +675,42 @@ describe('Swap Unit', () => {
...order,
v: '0',
}
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('SignatureInvalid')
)
})
+ it('check sender MAY NOT take an order specified for another sender', async () => {
+ const order = await createSignedOrder(
+ {
+ sender: {
+ wallet: sender.address,
+ },
+ },
+ signer
+ )
+ const [errors] = await swap.check(anyone.address, order)
+ expect(errors[0]).to.be.equal(
+ ethers.utils.formatBytes32String('SenderInvalid')
+ )
+ })
+
+ it('check sender MAY take an order not specified for another sender', async () => {
+ await erc20token.mock.allowance.returns(DEFAULT_AMOUNT + PROTOCOL_FEE)
+ await erc20token.mock.balanceOf.returns(DEFAULT_AMOUNT + PROTOCOL_FEE)
+ const order = await createSignedOrder(
+ {
+ sender: {
+ wallet: ADDRESS_ZERO,
+ },
+ },
+ signer
+ )
+ const errors = await swap.check(sender.address, order)
+ expect(errors[1]).to.equal(0)
+ })
+
it('check with incorrect authorized signatory fails', async () => {
await expect(swap.connect(signer).authorize(anyone.address)).to.emit(
swap,
@@ -694,7 +724,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('SignatoryUnauthorized')
)
@@ -709,7 +739,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('Unauthorized')
)
@@ -722,7 +752,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('OrderExpired')
)
@@ -738,7 +768,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('Unauthorized')
)
@@ -757,7 +787,7 @@ describe('Swap Unit', () => {
},
signer
)
- const errors = await swap.check(order)
+ const errors = await swap.check(sender.address, order)
expect(errors[1]).to.equal(0)
})
@@ -771,7 +801,7 @@ describe('Swap Unit', () => {
},
signer
)
- const [errors] = await swap.check(order)
+ const [errors] = await swap.check(sender.address, order)
expect(errors[0]).to.be.equal(
ethers.utils.formatBytes32String('AffiliateAmountInvalid')
)
diff --git a/source/swap/test/SwapIntegration.js b/source/swap/test/SwapIntegration.js
index 47bccd7cc..e9b41fc82 100644
--- a/source/swap/test/SwapIntegration.js
+++ b/source/swap/test/SwapIntegration.js
@@ -1,7 +1,7 @@
const { expect } = require('chai')
const { ethers } = require('hardhat')
const { createOrder, createOrderSignature } = require('@airswap/utils')
-const { tokenKinds } = require('@airswap/constants')
+const { TokenKinds, ADDRESS_ZERO } = require('@airswap/constants')
const ERC20PresetMinterPauser = require('@openzeppelin/contracts/build/contracts/ERC20PresetMinterPauser.json')
const ERC1155PresetMinterPauser = require('@openzeppelin/contracts/build/contracts/ERC1155PresetMinterPauser.json')
@@ -35,7 +35,7 @@ async function createSignedOrder(params, signatory) {
signer: {
wallet: signer.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
id: '0',
amount: DEFAULT_AMOUNT,
...params.signer,
@@ -43,7 +43,7 @@ async function createSignedOrder(params, signatory) {
sender: {
wallet: sender.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
id: '0',
amount: DEFAULT_AMOUNT,
...params.sender,
@@ -113,7 +113,7 @@ describe('Swap Integration', () => {
await ethers.getContractFactory('Swap')
).deploy(
[erc20adapter.address, erc721adapter.address, erc1155adapter.address],
- tokenKinds.ERC20,
+ TokenKinds.ERC20,
PROTOCOL_FEE,
protocolFeeWallet.address
)
@@ -131,15 +131,66 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
- amount: '1',
+ kind: TokenKinds.ERC20,
+ amount: '10000',
id: '0',
},
sender: {
wallet: sender.address,
token: erc20token2.address,
- kind: tokenKinds.ERC20,
- amount: '1',
+ kind: TokenKinds.ERC20,
+ amount: '10000',
+ id: '0',
+ },
+ },
+ signer
+ )
+ expect(await erc20token.balanceOf(signer.address)).to.be.equal(
+ DEFAULT_AMOUNT
+ )
+ expect(await erc20token2.balanceOf(sender.address)).to.be.equal(
+ DEFAULT_AMOUNT
+ )
+ expect(await erc20token.balanceOf(sender.address)).to.be.equal('0')
+ expect(await erc20token2.balanceOf(signer.address)).to.be.equal('0')
+
+ await expect(
+ swap.connect(sender).swap(sender.address, MAX_ROYALTY, order)
+ ).to.emit(swap, 'Swap')
+
+ expect(await erc20token.balanceOf(signer.address)).to.be.equal(
+ DEFAULT_AMOUNT - order.signer.amount
+ )
+ expect(await erc20token2.balanceOf(sender.address)).to.be.equal(
+ DEFAULT_AMOUNT - order.sender.amount - PROTOCOL_FEE
+ )
+ expect(await erc20token.balanceOf(sender.address)).to.be.equal(
+ order.signer.amount
+ )
+ expect(await erc20token2.balanceOf(signer.address)).to.be.equal(
+ order.sender.amount
+ )
+ })
+
+ it('public swap ERC20 for ERC20 succeeds', async () => {
+ await erc20token.connect(deployer).mint(signer.address, DEFAULT_AMOUNT)
+ await erc20token.connect(signer).approve(swap.address, DEFAULT_AMOUNT)
+ await erc20token2.connect(deployer).mint(sender.address, DEFAULT_AMOUNT)
+ await erc20token2.connect(sender).approve(swap.address, DEFAULT_AMOUNT)
+ const order = await createSignedOrder(
+ {
+ signer: {
+ wallet: signer.address,
+ token: erc20token.address,
+ kind: TokenKinds.ERC20,
+ amount: '10000',
+ id: '0',
+ },
+ sender: {
+ wallet: ADDRESS_ZERO,
+ token: erc20token2.address,
+ kind: TokenKinds.ERC20,
+ amount: '10000',
id: '0',
},
},
@@ -162,7 +213,7 @@ describe('Swap Integration', () => {
DEFAULT_AMOUNT - order.signer.amount
)
expect(await erc20token2.balanceOf(sender.address)).to.be.equal(
- DEFAULT_AMOUNT - order.sender.amount
+ DEFAULT_AMOUNT - order.sender.amount - PROTOCOL_FEE
)
expect(await erc20token.balanceOf(sender.address)).to.be.equal(
order.signer.amount
@@ -182,14 +233,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
amount: '0',
id: '1',
},
sender: {
wallet: sender.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '1',
id: '0',
},
@@ -215,14 +266,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc1155token.address,
- kind: tokenKinds.ERC1155,
+ kind: TokenKinds.ERC1155,
amount: '1',
id: '1',
},
sender: {
wallet: sender.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '1',
id: '0',
},
@@ -251,14 +302,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
amount: '0',
id: '1',
},
sender: {
wallet: sender.address,
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
amount: '1',
id: '0',
},
@@ -284,14 +335,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
amount: '0',
id: '1',
},
sender: {
wallet: sender.address,
token: erc1155token.address,
- kind: tokenKinds.ERC1155,
+ kind: TokenKinds.ERC1155,
amount: '1',
id: '1',
},
@@ -315,14 +366,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '1',
id: '0',
},
sender: {
wallet: sender.address,
token: erc20token2.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '10000',
id: '0',
},
@@ -356,14 +407,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '1',
id: '0',
},
sender: {
wallet: sender.address,
token: erc20token2.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '10000',
id: '0',
},
@@ -398,14 +449,14 @@ describe('Swap Integration', () => {
signer: {
wallet: signer.address,
token: erc721token.address,
- kind: tokenKinds.ERC721,
+ kind: TokenKinds.ERC721,
amount: '0',
id: '1',
},
sender: {
wallet: sender.address,
token: erc20token.address,
- kind: tokenKinds.ERC20,
+ kind: TokenKinds.ERC20,
amount: '1000',
id: '0',
},
diff --git a/source/wrapper/contracts/WETH9.sol b/source/wrapper/contracts/WETH9.sol
new file mode 100644
index 000000000..ac7325b61
--- /dev/null
+++ b/source/wrapper/contracts/WETH9.sol
@@ -0,0 +1,80 @@
+// Copyright (C) 2015, 2016, 2017 Dapphub
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+pragma solidity >=0.4.22 <0.6;
+
+contract WETH9 {
+ string public name = "Wrapped Ether";
+ string public symbol = "WETH";
+ uint8 public decimals = 18;
+
+ event Approval(address indexed src, address indexed guy, uint wad);
+ event Transfer(address indexed src, address indexed dst, uint wad);
+ event Deposit(address indexed dst, uint wad);
+ event Withdrawal(address indexed src, uint wad);
+
+ mapping(address => uint) public balanceOf;
+ mapping(address => mapping(address => uint)) public allowance;
+
+ function() external payable {
+ deposit();
+ }
+
+ function deposit() public payable {
+ balanceOf[msg.sender] += msg.value;
+ emit Deposit(msg.sender, msg.value);
+ }
+
+ function withdraw(uint wad) public {
+ require(balanceOf[msg.sender] >= wad);
+ balanceOf[msg.sender] -= wad;
+ msg.sender.transfer(wad);
+ emit Withdrawal(msg.sender, wad);
+ }
+
+ function totalSupply() public view returns (uint) {
+ return address(this).balance;
+ }
+
+ function approve(address guy, uint wad) public returns (bool) {
+ allowance[msg.sender][guy] = wad;
+ emit Approval(msg.sender, guy, wad);
+ return true;
+ }
+
+ function transfer(address dst, uint wad) public returns (bool) {
+ return transferFrom(msg.sender, dst, wad);
+ }
+
+ function transferFrom(
+ address src,
+ address dst,
+ uint wad
+ ) public returns (bool) {
+ require(balanceOf[src] >= wad);
+
+ if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) {
+ require(allowance[src][msg.sender] >= wad);
+ allowance[src][msg.sender] -= wad;
+ }
+
+ balanceOf[src] -= wad;
+ balanceOf[dst] += wad;
+
+ emit Transfer(src, dst, wad);
+
+ return true;
+ }
+}
diff --git a/source/wrapper/deploys-weth.js b/source/wrapper/deploys-weth.js
new file mode 100644
index 000000000..aafede436
--- /dev/null
+++ b/source/wrapper/deploys-weth.js
@@ -0,0 +1,15 @@
+module.exports = {
+ 1: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
+ 5: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
+ 30: '0x967f8799af07df1534d48a95a5c9febe92c53ae0',
+ 31: '0x09b6ca5e4496238a1f176aea6bb607db96c2286e',
+ 56: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
+ 97: '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd',
+ 137: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270',
+ 42161: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
+ 43113: '0xd9d01a9f7c810ec035c0e42cb9e80ef44d7f8692',
+ 43114: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',
+ 59140: '0x2C1b868d6596a18e32E61B901E4060C872647b6C',
+ 80001: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
+ 421613: '0xee01c0cd76354c383b8c7b4e65ea88d00b06f36f',
+}
diff --git a/source/wrapper/deploys.js.d.ts b/source/wrapper/deploys.js.d.ts
new file mode 100644
index 000000000..66dec78dc
--- /dev/null
+++ b/source/wrapper/deploys.js.d.ts
@@ -0,0 +1,2 @@
+declare module '@airswap/wrapper/deploys.js'
+declare module '@airswap/wrapper/deploys-weth.js'
diff --git a/source/wrapper/package.json b/source/wrapper/package.json
index 7bf0625d6..a6f64a252 100644
--- a/source/wrapper/package.json
+++ b/source/wrapper/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/wrapper",
- "version": "4.0.2",
+ "version": "4.0.3",
"description": "AirSwap: Wrap and Unwrap Native Tokens",
"license": "MIT",
"repository": {
@@ -10,10 +10,11 @@
"files": [
"./build",
"./typechain",
- "./deploys.js"
+ "./deploys.js",
+ "./deploys-weth.js"
],
"scripts": {
- "clean": "hardhat clean; rm -rf ./build; rm -rf ./typechain",
+ "clean": "rm -rf ./cache && rm -rf ./build && rm -rf ./typechain",
"compile": "hardhat compile; yarn typechain",
"typechain": "tsc -b",
"coverage": "hardhat coverage",
@@ -23,8 +24,8 @@
"verify": "hardhat run ./scripts/verify.js"
},
"dependencies": {
- "@airswap/swap-erc20": "^4.0.0",
- "@openzeppelin/contracts": "^4.8.1"
+ "@airswap/swap-erc20": "4.0.2",
+ "@openzeppelin/contracts": "^4.8.3"
},
"devDependencies": {
"@airswap/constants": "^4.0.0",
diff --git a/source/wrapper/scripts/deploy.js b/source/wrapper/scripts/deploy.js
index e5912302a..3f7a5efb6 100644
--- a/source/wrapper/scripts/deploy.js
+++ b/source/wrapper/scripts/deploy.js
@@ -4,8 +4,9 @@ const Confirm = require('prompt-confirm')
const { ethers, run } = require('hardhat')
const swapDeploys = require('@airswap/swap-erc20/deploys.js')
const wrapperDeploys = require('../deploys.js')
-const { chainNames, wrappedTokenAddresses } = require('@airswap/constants')
-const { getEtherscanURL } = require('@airswap/utils')
+const wethDeploys = require('../deploys-weth.js')
+const { chainNames } = require('@airswap/constants')
+const { getReceiptUrl } = require('@airswap/utils')
async function main() {
await run('compile')
@@ -15,7 +16,7 @@ async function main() {
const chainId = await deployer.getChainId()
const gasPrice = await deployer.getGasPrice()
const swapAddress = swapDeploys[chainId]
- const wrappedTokenAddress = wrappedTokenAddresses[chainId]
+ const wrappedTokenAddress = wethDeploys[chainId]
console.log(`Deploying on ${chainNames[chainId].toUpperCase()}`)
console.log(`Swap: ${swapAddress}`)
@@ -31,7 +32,7 @@ async function main() {
)
console.log(
'Deploying...',
- getEtherscanURL(chainId, wrapperContract.deployTransaction.hash)
+ getReceiptUrl(chainId, wrapperContract.deployTransaction.hash)
)
await wrapperContract.deployed()
console.log(`Deployed: ${wrapperContract.address}`)
diff --git a/source/wrapper/scripts/verify.js b/source/wrapper/scripts/verify.js
index c872f89ce..5305805cf 100644
--- a/source/wrapper/scripts/verify.js
+++ b/source/wrapper/scripts/verify.js
@@ -2,7 +2,8 @@
const { ethers, run } = require('hardhat')
const swapDeploys = require('@airswap/swap-erc20/deploys.js')
const wrapperDeploys = require('../deploys.js')
-const { chainNames, wrappedTokenAddresses } = require('@airswap/constants')
+const wethDeploys = require('../deploys-weth.js')
+const { chainNames } = require('@airswap/constants')
async function main() {
await run('compile')
@@ -11,7 +12,7 @@ async function main() {
const chainId = await deployer.getChainId()
const swapAddress = swapDeploys[chainId]
- const wrappedTokenAddress = wrappedTokenAddresses[chainId]
+ const wrappedTokenAddress = wethDeploys[chainId]
console.log(`Verifying on ${chainNames[chainId].toUpperCase()}`)
await run('verify:verify', {
diff --git a/tools/constants/README.md b/tools/constants/README.md
index b1b23cff2..1d387302c 100644
--- a/tools/constants/README.md
+++ b/tools/constants/README.md
@@ -24,7 +24,7 @@ yarn add @airswap/constants
Import into your application:
```TypeScript
-import { chainIds, tokenKinds, protocols } from '@airswap/constants';
+import { ChainIds, TokenKinds, protocols } from '@airswap/constants';
```
## Commands
diff --git a/tools/constants/index.ts b/tools/constants/index.ts
index 089ee32c6..779b6292e 100644
--- a/tools/constants/index.ts
+++ b/tools/constants/index.ts
@@ -5,134 +5,181 @@ export const DOMAIN_VERSION_SWAP = '4'
export const DOMAIN_NAME_POOL = 'POOL'
export const DOMAIN_VERSION_POOL = '1'
export const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'
-export const MAX_LOCATORS = 10
export const MAX_APPROVAL_AMOUNT = '90071992547409910000000000'
export const MIN_CONFIRMATIONS = 2
export const SECONDS_IN_DAY = 86400
-export const chainIds: Record = {
- MAINNET: 1,
- GOERLI: 5,
- RSK: 30,
- RSKTESTNET: 31,
- KOVAN: 42,
- BSC: 56,
- BSCTESTNET: 97,
- POLYGON: 137,
- HARDHAT: 31337,
- ARBITRUM: 42161,
- ARBITRUMGOERLI: 421613,
- FUJI: 43113,
- AVALANCHE: 43114,
- MUMBAI: 80001,
+export enum ChainIds {
+ MAINNET = 1,
+ GOERLI = 5,
+ RSK = 30,
+ RSKTESTNET = 31,
+ BSC = 56,
+ BSCTESTNET = 97,
+ POLYGON = 137,
+ HARDHAT = 31337,
+ ARBITRUM = 42161,
+ LINEA = 59140,
+ FUJI = 43113,
+ AVALANCHE = 43114,
+ ARBITRUMGOERLI = 421613,
+ MUMBAI = 80001,
}
-export const chainNames: Record = {
- 1: 'MAINNET',
- 5: 'GOERLI',
- 30: 'RSK',
- 31: 'RSKTESTNET',
- 42: 'KOVAN',
- 56: 'BSC',
- 97: 'BSCTESTNET',
- 137: 'POLYGON',
- 31337: 'HARDHAT',
- 42161: 'ARBITRUM',
- 43113: 'FUJI',
- 43114: 'AVALANCHE',
- 80001: 'MUMBAI',
- 421613: 'ARBITRUMGOERLI',
-}
+export const mainnets: number[] = [
+ ChainIds.MAINNET,
+ ChainIds.RSK,
+ ChainIds.BSC,
+ ChainIds.POLYGON,
+ ChainIds.ARBITRUM,
+ ChainIds.AVALANCHE,
+]
-export const mainnets: number[] = [1, 30, 56, 137, 42161, 43114]
+export const testnets: number[] = [
+ ChainIds.GOERLI,
+ ChainIds.RSKTESTNET,
+ ChainIds.BSCTESTNET,
+ ChainIds.MUMBAI,
+ ChainIds.ARBITRUMGOERLI,
+ ChainIds.FUJI,
+ ChainIds.HARDHAT,
+ ChainIds.LINEA,
+]
-export const testnets: number[] = [5, 31, 97, 31337, 80001, 421613, 43113]
+export const chainNames: Record = {
+ [ChainIds.MAINNET]: 'Ethereum',
+ [ChainIds.GOERLI]: 'Goerli',
+ [ChainIds.RSK]: 'RSK',
+ [ChainIds.RSKTESTNET]: 'RSK Testnet',
+ [ChainIds.BSC]: 'BSC',
+ [ChainIds.BSCTESTNET]: 'BSC Testnet',
+ [ChainIds.POLYGON]: 'Polygon',
+ [ChainIds.HARDHAT]: 'Hardhat',
+ [ChainIds.ARBITRUM]: 'Arbitrum',
+ [ChainIds.FUJI]: 'Fuji Testnet',
+ [ChainIds.AVALANCHE]: 'Avalanche',
+ [ChainIds.LINEA]: 'Linea',
+ [ChainIds.MUMBAI]: 'Mumbai Testnet',
+ [ChainIds.ARBITRUMGOERLI]: 'Arbitrum Goerli',
+}
export const chainCurrencies: Record = {
- 1: 'ETH',
- 5: 'ETH',
- 30: 'RBTC',
- 31: 'tRBTC',
- 42: 'ETH',
- 56: 'BNB',
- 97: 'BNB',
- 137: 'MATIC',
- 31337: 'ETH',
- 42161: 'AETH',
- 421613: 'AETH',
- 43113: 'AVAX',
- 43114: 'AVAX',
- 80001: 'MATIC',
+ [ChainIds.MAINNET]: 'ETH',
+ [ChainIds.GOERLI]: 'ETH',
+ [ChainIds.RSK]: 'RBTC',
+ [ChainIds.RSKTESTNET]: 'tRBTC',
+ [ChainIds.BSC]: 'BNB',
+ [ChainIds.BSCTESTNET]: 'BNB',
+ [ChainIds.POLYGON]: 'MATIC',
+ [ChainIds.HARDHAT]: 'ETH',
+ [ChainIds.ARBITRUM]: 'AETH',
+ [ChainIds.FUJI]: 'AVAX',
+ [ChainIds.AVALANCHE]: 'AVAX',
+ [ChainIds.LINEA]: 'ETH',
+ [ChainIds.MUMBAI]: 'MATIC',
+ [ChainIds.ARBITRUMGOERLI]: 'AETH',
+}
+
+export const apiUrls: Record = {
+ [ChainIds.MAINNET]: 'https://mainnet.infura.io/v3/',
+ [ChainIds.GOERLI]: 'https://goerli.infura.io/v3/',
+ [ChainIds.RSK]: 'https://public-node.rsk.co',
+ [ChainIds.RSKTESTNET]: 'https://public-node.testnet.rsk.co/',
+ [ChainIds.BSC]: 'https://bsc-dataseed.binance.org/',
+ [ChainIds.BSCTESTNET]: 'https://data-seed-prebsc-1-s1.binance.org:8545/',
+ [ChainIds.POLYGON]: 'https://polygon-rpc.com/',
+ [ChainIds.ARBITRUM]: 'https://arb1.arbitrum.io/rpc',
+ [ChainIds.FUJI]: 'https://api.avax-test.network/ext/bc/C/rpc',
+ [ChainIds.AVALANCHE]: 'https://api.avax.network/ext/bc/C/rpc',
+ [ChainIds.LINEA]: 'https://rpc.goerli.linea.build/',
+ [ChainIds.MUMBAI]: 'https://rpc-mumbai.maticvigil.com',
+ [ChainIds.ARBITRUMGOERLI]: 'https://goerli-rollup.arbitrum.io/rpc',
}
-export const wrappedTokenAddresses: Record = {
- 1: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
- 5: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
- 30: '0x967f8799af07df1534d48a95a5c9febe92c53ae0',
- 31: '0x09b6ca5e4496238a1f176aea6bb607db96c2286e',
- 42: '0xd0a1e359811322d97991e03f863a0c30c2cf029c',
- 56: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
- 97: '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd',
- 137: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270',
- 42161: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
- 43113: '0xd9d01a9f7c810ec035c0e42cb9e80ef44d7f8692',
- 43114: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',
- 80001: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
- 421613: '0xee01c0cd76354c383b8c7b4e65ea88d00b06f36f',
+export const explorerUrls: Record = {
+ [ChainIds.MAINNET]: 'https://etherscan.io/',
+ [ChainIds.GOERLI]: 'https://goerli.etherscan.io/',
+ [ChainIds.RSK]: 'https://blockscout.com/rsk/mainnet/',
+ [ChainIds.RSKTESTNET]: 'https://explorer.testnet.rsk.co/',
+ [ChainIds.BSC]: 'https://bscscan.com/',
+ [ChainIds.BSCTESTNET]: 'https://testnet.bscscan.com/',
+ [ChainIds.POLYGON]: 'https://polygonscan.com/',
+ [ChainIds.ARBITRUM]: 'https://arbiscan.io/',
+ [ChainIds.FUJI]: 'https://testnet.snowtrace.io/',
+ [ChainIds.AVALANCHE]: 'https://snowtrace.io/',
+ [ChainIds.LINEA]: 'https://explorer.goerli.linea.build/',
+ [ChainIds.MUMBAI]: 'https://mumbai.polygonscan.com/',
+ [ChainIds.ARBITRUMGOERLI]: 'https://goerli.arbiscan.io/',
}
export const stakingTokenAddresses: Record = {
- 1: '0x27054b13b1b798b345b591a4d22e6562d47ea75a',
- 5: '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31',
- 30: '0x71070c5607358fc25e3b4aaf4fb0a580c190252a',
- 31: '0x9c7005fa2f8476e2331f45f69e0930a4c9eff0c3',
- 42: '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31',
- 56: '0x1ac0d76f11875317f8a7d791db94cdd82bd02bd1',
- 97: '0xd161ddcfcc0c2d823021aa26200824efa75218d1',
- 137: '0x04bEa9FCE76943E90520489cCAb84E84C0198E29',
- 42161: '0xa1135c2f2c7798d31459b5fdaef8613419be1008',
- 43113: '0x48c427e7cEf42399e9e8300fC47875772309e995',
- 43114: '0x702d0f43edd46b77ea2d48570b02c328a20a94a1',
- 80001: '0xd161ddcfcc0c2d823021aa26200824efa75218d1',
- 421613: '0x71070c5607358fc25e3b4aaf4fb0a580c190252a',
+ [ChainIds.MAINNET]: '0x27054b13b1b798b345b591a4d22e6562d47ea75a',
+ [ChainIds.GOERLI]: '0x1a1ec25dc08e98e5e93f1104b5e5cdd298707d31',
+ [ChainIds.RSK]: '0x71070c5607358fc25e3b4aaf4fb0a580c190252a',
+ [ChainIds.RSKTESTNET]: '0x9c7005fa2f8476e2331f45f69e0930a4c9eff0c3',
+ [ChainIds.BSC]: '0x1ac0d76f11875317f8a7d791db94cdd82bd02bd1',
+ [ChainIds.BSCTESTNET]: '0xd161ddcfcc0c2d823021aa26200824efa75218d1',
+ [ChainIds.POLYGON]: '0x04bEa9FCE76943E90520489cCAb84E84C0198E29',
+ [ChainIds.ARBITRUM]: '0xa1135c2f2c7798d31459b5fdaef8613419be1008',
+ [ChainIds.FUJI]: '0x48c427e7cEf42399e9e8300fC47875772309e995',
+ [ChainIds.AVALANCHE]: '0x702d0f43edd46b77ea2d48570b02c328a20a94a1',
+ [ChainIds.LINEA]: '0x2C1b868d6596a18e32E61B901E4060C872647b6C',
+ [ChainIds.MUMBAI]: '0xd161ddcfcc0c2d823021aa26200824efa75218d1',
+ [ChainIds.ARBITRUMGOERLI]: '0x71070c5607358fc25e3b4aaf4fb0a580c190252a',
}
-export const etherscanDomains: Record = {
- 1: 'etherscan.io',
- 5: 'goerli.etherscan.io',
- 30: 'blockscout.com/rsk/mainnet',
- 31: 'explorer.testnet.rsk.co',
- 42: 'kovan.etherscan.io',
- 56: 'bscscan.com',
- 97: 'testnet.bscscan.com',
- 137: 'polygonscan.com',
- 42161: 'arbiscan.io',
- 43113: 'testnet.snowtrace.io',
- 43114: 'snowtrace.io',
- 80001: 'mumbai.polygonscan.com',
- 421613: 'goerli.arbiscan.io',
+export enum Protocols {
+ Discovery = '0x8cd261ef',
+ RequestForQuoteERC20 = '0x57bb3622',
+ PricingERC20 = '0x8beb22c2',
+ LastLookERC20 = '0x2ca4c820',
+ StorageERC20 = '0x218893b8',
+}
+
+export const protocolInterfaces: Record = {
+ [Protocols.Discovery]: [
+ 'function getProtocols()',
+ 'function setProtocols(array(string interfaceId))',
+ 'function getTokens()',
+ 'function setTokens(array(string tokenContractAddress))',
+ ],
+ [Protocols.RequestForQuoteERC20]: [
+ 'function getSignerSideOrderERC20(string chainId,string swapContractAddress,string senderAmount,string signerToken,string senderToken,string senderWallet,string proxyingFor)',
+ 'function getSenderSideOrderERC20(string chainId,string swapContractAddress,string signerAmount,string signerToken,string senderToken,string senderWallet,string proxyingFor)',
+ 'function getPricingERC20(array((string baseToken,string quoteToken)))',
+ 'function getAllPricingERC20()',
+ ],
+ [Protocols.LastLookERC20]: [
+ 'function subscribePricingERC20(array((string baseToken,string quoteToken)))',
+ 'function subscribeAllPricingERC20()',
+ 'function unsubscribePricingERC20(array((string baseToken,string quoteToken)))',
+ 'function unsubscribeAllPricingERC20()',
+ 'function setPricingERC20(array(string baseToken,string quoteToken,string minimum,array(array((string level,string price))),array(array((string level,string price)))))',
+ 'function considerOrderERC20(string nonce,string expiry,string signerWallet,string signerToken,string signerAmount,string senderToken,string senderAmount,string v,string r,string s)',
+ ],
+ [Protocols.StorageERC20]: [
+ 'function addOrderERC20(string nonce,string expiry,string signerWallet,string signerToken,string signerAmount,string senderToken,string senderAmount,string v,string r,string s)',
+ 'function getOrdersERC20()',
+ 'function getOrdersERC20By(string sortField,array(string senderToken),string page,string filters,string sortOrder)',
+ ],
+}
+
+export const protocolNames: Record = {
+ [Protocols.Discovery]: 'Discovery',
+ [Protocols.RequestForQuoteERC20]: 'Request for Quote (ERC20)',
+ [Protocols.PricingERC20]: 'Pricing (ERC20)',
+ [Protocols.LastLookERC20]: 'Last Look (ERC20)',
+ [Protocols.StorageERC20]: 'Storage (ERC20)',
}
export enum TokenKinds {
ERC20 = '0x36372b07',
ERC721 = '0x80ac58cd',
ERC1155 = '0xd9b67a26',
- ERC777 = '0xe58e113c',
- CKITTY = '0x9a20483d',
-}
-
-export const tokenKinds = {
- ERC20: TokenKinds.ERC20,
- ERC721: TokenKinds.ERC721,
- ERC1155: TokenKinds.ERC1155,
- ERC777: TokenKinds.ERC777,
- CKITTY: TokenKinds.CKITTY,
}
export const tokenKindNames: Record = {
- '0x36372b07': 'ERC20',
- '0x80ac58cd': 'ERC721',
- '0xd9b67a26': 'ERC1155',
- '0xe58e113c': 'ERC777',
- '0x9a20483d': 'CKITTY',
+ [TokenKinds.ERC20]: 'ERC20',
+ [TokenKinds.ERC721]: 'ERC721',
+ [TokenKinds.ERC1155]: 'ERC1155',
}
diff --git a/tools/constants/package.json b/tools/constants/package.json
index 07fd5e788..086b21e0f 100644
--- a/tools/constants/package.json
+++ b/tools/constants/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/constants",
- "version": "4.0.1",
+ "version": "4.0.2",
"description": "AirSwap: Constants for Developers",
"repository": {
"type": "git",
diff --git a/tools/libraries/README.md b/tools/libraries/README.md
index c1108449f..9306f9051 100644
--- a/tools/libraries/README.md
+++ b/tools/libraries/README.md
@@ -24,7 +24,7 @@ yarn add @airswap/libraries
Import into your application:
```TypeScript
-import { Indexer, Maker, Swap } from '@airswap/libraries';
+import { Indexer, Server, Swap } from '@airswap/libraries';
```
## Commands
diff --git a/tools/libraries/index.ts b/tools/libraries/index.ts
index 0b643d9a5..28eb2b74b 100644
--- a/tools/libraries/index.ts
+++ b/tools/libraries/index.ts
@@ -1,6 +1,2 @@
-export { SwapERC20 } from './src/SwapERC20'
-export { Wrapper } from './src/Wrapper'
-export { MakerRegistry } from './src/MakerRegistry'
-export { Maker } from './src/Maker'
-export { IndexerRegistry } from './src/IndexerRegistry'
-export * from './src/Indexer'
+export * from './src/Contracts'
+export * from './src/Server'
diff --git a/tools/libraries/package.json b/tools/libraries/package.json
index d99868edf..f72bc2ffd 100644
--- a/tools/libraries/package.json
+++ b/tools/libraries/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/libraries",
- "version": "4.0.4",
+ "version": "4.0.5",
"description": "AirSwap: Libraries for Developers",
"repository": {
"type": "git",
@@ -24,47 +24,36 @@
"pretty:check": "prettier --check \"./**/*.ts\" \"./**/*.js\"",
"pretty:fix": "prettier --write \"./**/*.ts\" \"./**/*.js\"",
"test": "yarn test:unit",
- "test:unit": "yarn compile && yarn mocha -r ts-node/register test/Maker.test.ts test/Indexer.test.ts"
+ "test:unit": "TS_NODE_COMPILER_OPTIONS='{\"strict\":false}' yarn mocha -r ts-node/esm test/*.ts"
},
"dependencies": {
+ "@airswap/balances": "4.0.0",
"@airswap/constants": "^4.0.0",
- "@airswap/indexer-registry": "^4.0.0",
"@airswap/jsonrpc-client-websocket": "0.0.1",
- "@airswap/maker-registry": "^4.0.0",
- "@airswap/swap-erc20": "^4.0.0",
+ "@airswap/registry": "4.0.2",
+ "@airswap/swap": "4.0.3",
+ "@airswap/swap-erc20": "4.0.2",
"@airswap/types": "^4.0.0",
"@airswap/utils": "^4.0.0",
- "@airswap/wrapper": "^4.0.0",
- "bignumber.js": "^9.0.0",
- "browser-or-node": "^1.3.0",
+ "@airswap/wrapper": "4.0.3",
+ "browser-or-node": "^2.1.1",
"ethers": "^5.6.9",
- "jayson": "^3.2.0",
+ "jayson": "^4.0.0",
"tiny-typed-emitter": "^2.1.0",
- "websocket": "^1.0.34",
- "ws": "7.5.9"
+ "websocket": "^1.0.34"
},
"devDependencies": {
- "@relaycorp/ws-mock": "^5.2.5",
- "@types/mocha": "^10.0.1",
+ "@relaycorp/ws-mock": "^5.2.6",
"@types/mock-require": "^2.0.0",
- "@types/node": "^18.14.2",
- "@typescript-eslint/eslint-plugin": "^5.52.0",
- "@typescript-eslint/parser": "^5.52.0",
"body-parser": "^1.20.1",
- "chai": "^4.3.7",
- "eslint": "^8.34.0",
- "eslint-config-prettier": "^8.6.0",
- "eslint-plugin-prettier": "^4.2.1",
"express": "^4.18.2",
"fancy-test": "^1.4.7",
- "mocha": "^10.2.0",
"mock-require": "^3.0.3",
"mock-socket": "^9.0.3",
"nock": "^12.0.1",
- "prettier": "^2.8.4",
"sinon": "^14.0.0",
"sinon-chai": "^3.7.0",
- "ts-node": "^10.9.1"
+ "ws": "^7.4.1"
},
"publishConfig": {
"access": "public"
diff --git a/tools/libraries/src/Contracts.ts b/tools/libraries/src/Contracts.ts
new file mode 100644
index 000000000..4d7fd2d8f
--- /dev/null
+++ b/tools/libraries/src/Contracts.ts
@@ -0,0 +1,141 @@
+import { ethers } from 'ethers'
+
+import { ServerOptions } from '@airswap/types'
+
+import { Swap__factory } from '@airswap/swap/typechain/factories/contracts'
+import { SwapERC20__factory } from '@airswap/swap-erc20/typechain/factories/contracts'
+import { Wrapper__factory } from '@airswap/wrapper/typechain/factories/contracts'
+import { Registry__factory } from '@airswap/registry/typechain/factories/contracts'
+import { WETH9__factory } from '@airswap/wrapper/typechain/factories/contracts'
+
+import registryDeploys from '@airswap/registry/deploys.js'
+import swapERC20Deploys from '@airswap/swap-erc20/deploys.js'
+import swapDeploys from '@airswap/swap/deploys.js'
+import wrapperDeploys from '@airswap/wrapper/deploys.js'
+import wethDeploys from '@airswap/wrapper/deploys-weth.js'
+
+import BalanceChecker from '@airswap/balances/build/contracts/BalanceChecker.sol/BalanceChecker.json'
+// @ts-ignore
+import balancesDeploys from '@airswap/balances/deploys.js'
+const balancesInterface = new ethers.utils.Interface(
+ JSON.stringify(BalanceChecker.abi)
+)
+
+import { Server } from './Server'
+
+class Contract {
+ public name: string
+ public addresses: Record
+ public factory: any
+ public constructor(
+ name: string,
+ addresses: Record,
+ factory: any
+ ) {
+ this.name = name
+ this.addresses = addresses
+ this.factory = factory
+ }
+ public getAddress(chainId: number) {
+ return this.addresses[chainId]
+ }
+ public getContract(
+ providerOrSigner: ethers.providers.Provider | ethers.Signer,
+ chainId: number
+ ): ethers.Contract {
+ return this.factory.connect(this.addresses[chainId], providerOrSigner)
+ }
+}
+
+class ServerRegistry extends Contract {
+ public constructor(
+ name: string,
+ addresses: Record,
+ factory: any
+ ) {
+ super(name, addresses, factory)
+ }
+ public async getServerURLs(
+ providerOrSigner: ethers.providers.Provider | ethers.Signer,
+ chainId: number,
+ protocol: string,
+ baseToken?: string,
+ quoteToken?: string
+ ): Promise {
+ const contract = Registry__factory.connect(
+ registryDeploys[chainId],
+ providerOrSigner
+ )
+ const protocolStakers: string[] = await contract.getStakersForProtocol(
+ protocol
+ )
+ const stakers = protocolStakers.filter(async (staker) => {
+ const tokens = await contract.getTokensForStaker(staker)
+ let include = false
+ if (!tokens.length) include = true
+ else if (baseToken) include = tokens.includes(baseToken)
+ else if (quoteToken) include = tokens.includes(quoteToken)
+ return include
+ })
+ return await contract.getServerURLsForStakers(stakers)
+ }
+ public async getServers(
+ providerOrSigner: ethers.providers.Provider | ethers.Signer,
+ chainId: number,
+ protocol: string,
+ baseToken?: string,
+ quoteToken?: string,
+ options?: ServerOptions
+ ): Promise> {
+ const urls = await this.getServerURLs(
+ providerOrSigner,
+ chainId,
+ protocol,
+ baseToken,
+ quoteToken
+ )
+ const serverPromises = await Promise.allSettled(
+ urls.map((url) => {
+ return Server.at(url, {
+ swapContract: options?.swapContract || SwapERC20.getAddress(chainId),
+ chainId: chainId,
+ initializeTimeout: options?.initializeTimeout,
+ })
+ })
+ )
+ const servers: PromiseFulfilledResult[] = serverPromises.filter(
+ (value): value is PromiseFulfilledResult =>
+ value.status === 'fulfilled'
+ )
+ return servers.map((value) => value.value)
+ }
+}
+
+export const Swap = new Contract('Swap', swapDeploys, Swap__factory)
+export const SwapERC20 = new Contract(
+ 'SwapERC20',
+ swapERC20Deploys,
+ SwapERC20__factory
+)
+export const Wrapper = new Contract('Wrapper', wrapperDeploys, Wrapper__factory)
+export const Registry = new ServerRegistry(
+ 'Registry',
+ registryDeploys,
+ Registry__factory
+)
+export const WETH = new Contract('WETH', wethDeploys, WETH9__factory)
+export const Balances = new Contract(
+ 'Balances',
+ wrapperDeploys,
+ Wrapper__factory
+)
+Balances.getContract = (
+ providerOrSigner: ethers.providers.Provider | ethers.Signer,
+ chainId: number
+): ethers.Contract => {
+ return new ethers.Contract(
+ balancesDeploys[chainId],
+ balancesInterface,
+ providerOrSigner
+ )
+}
diff --git a/tools/libraries/src/Indexer.ts b/tools/libraries/src/Indexer.ts
deleted file mode 100644
index 82d464baa..000000000
--- a/tools/libraries/src/Indexer.ts
+++ /dev/null
@@ -1,251 +0,0 @@
-import * as url from 'url'
-import { isBrowser } from 'browser-or-node'
-import { Client as HttpClient } from 'jayson'
-import { FullOrderERC20 } from '@airswap/types'
-import { parseUrl } from '@airswap/utils'
-
-const REQUEST_TIMEOUT = 4000
-
-export type IndexedOrderResponse = {
- hash?: string | undefined
- order: FullOrderERC20
- addedOn: number
-}
-
-export type HealthCheckResponse = {
- peers: string[]
- registry: string
- databaseOrders: number
-}
-
-export type OrderResponse = {
- orders: Record
- pagination: Pagination
- filters?: FiltersResponse | undefined
- ordersForQuery: number
-}
-
-export type Pagination = {
- first: string
- last: string
- prev?: string | undefined
- next?: string | undefined
-}
-
-export function toSortOrder(key: string): SortOrder | undefined {
- if (typeof key !== 'string') {
- return undefined
- }
- if (key.toUpperCase() === SortOrder.ASC) {
- return SortOrder.ASC
- }
- if (key.toUpperCase() === SortOrder.DESC) {
- return SortOrder.DESC
- }
-
- return undefined
-}
-
-export type RequestFilter = {
- signerTokens?: string[]
- senderTokens?: string[]
- minSignerAmount?: bigint
- maxSignerAmount?: bigint
- minSenderAmount?: bigint
- maxSenderAmount?: bigint
- page: number
- sortField?: SortField
- sortOrder?: SortOrder
- maxAddedDate?: number
-}
-
-export type FiltersResponse = {
- signerToken: Record
- senderToken: Record
-}
-
-export type AmountLimitFilterResponse = {
- min: string
- max: string
-}
-
-export enum SortField {
- SIGNER_AMOUNT = 'SIGNER_AMOUNT',
- SENDER_AMOUNT = 'SENDER_AMOUNT',
-}
-
-export function toSortField(key: string): SortField | undefined {
- if (typeof key !== 'string') {
- return undefined
- }
- if (key.toUpperCase() === SortField.SIGNER_AMOUNT) {
- return SortField.SIGNER_AMOUNT
- }
- if (key.toUpperCase() === SortField.SENDER_AMOUNT) {
- return SortField.SENDER_AMOUNT
- }
- return undefined
-}
-
-export enum SortOrder {
- ASC = 'ASC',
- DESC = 'DESC',
-}
-
-export abstract class IndexedOrderError extends Error {
- public code!: number
- public constructor(message: string) {
- super(message)
- this.message = message
- }
-}
-export class ErrorResponse {
- public code: number
- public message: string
- public constructor(code: number, message: string) {
- this.code = code
- this.message = message
- }
-}
-export class SuccessResponse {
- public message: string
- public constructor(message: string) {
- this.message = message
- }
-}
-export class JsonRpcResponse {
- public id: string
- public result:
- | OrderResponse
- | ErrorResponse
- | SuccessResponse
- | HealthCheckResponse
- | undefined
- private jsonrpc = '2.0'
-
- public constructor(
- id: string,
- result:
- | OrderResponse
- | IndexedOrderError
- | SuccessResponse
- | HealthCheckResponse
- | undefined
- ) {
- this.id = id
- if (result instanceof Error) {
- this.result = new ErrorResponse(result.code, result.message)
- } else {
- this.result = result
- }
- }
-}
-
-export class NodeIndexer {
- private httpClient: HttpClient
-
- public constructor(locator: string) {
- const parsedUrl = parseUrl(locator)
- const options = {
- protocol: parsedUrl.protocol,
- hostname: parsedUrl.hostname,
- port: parsedUrl.port,
- timeout: REQUEST_TIMEOUT,
- }
-
- if (isBrowser) {
- const jaysonClient = require('jayson/lib/client/browser')
- this.httpClient = new jaysonClient((request, callback) => {
- fetch(url.format(locator), {
- method: 'POST',
- body: request,
- headers: {
- 'Content-Type': 'application/json',
- },
- })
- .then((res) => {
- return res.text()
- })
- .then((text) => {
- callback(null, text)
- })
- .catch((err) => {
- callback(err)
- })
- })
- } else {
- const jaysonClient = require('jayson/lib/client')
- if (options.protocol === 'https:') {
- this.httpClient = jaysonClient.https(options)
- } else {
- this.httpClient = jaysonClient.http(options)
- }
- }
- }
-
- public async getOrdersERC20By(
- requestFilter: RequestFilter,
- filters = false
- ): Promise {
- try {
- return Promise.resolve(
- (await this.httpCall('getOrdersERC20', [
- { ...this.toBigIntJson(requestFilter), filters },
- ])) as OrderResponse
- )
- } catch (err) {
- return Promise.reject(err)
- }
- }
-
- public async getOrdersERC20(): Promise {
- try {
- return Promise.resolve(
- (await this.httpCall('getOrdersERC20', [{}])) as OrderResponse
- )
- } catch (err) {
- return Promise.reject(err)
- }
- }
-
- public async addOrderERC20(
- fullOrder: FullOrderERC20
- ): Promise {
- try {
- return Promise.resolve(
- (await this.httpCall('addOrderERC20', [fullOrder])) as SuccessResponse
- )
- } catch (err) {
- return Promise.reject(err)
- }
- }
-
- private httpCall(
- method: string,
- params: Record | Array
- ): Promise {
- return new Promise((resolve, reject) => {
- this.httpClient.request(
- method,
- params,
- (connectionError: any, serverError: any, result: any) => {
- if (connectionError) {
- reject({ code: -1, message: connectionError.message })
- } else if (serverError) {
- reject(serverError)
- } else {
- resolve(result)
- }
- }
- )
- })
- }
-
- private toBigIntJson(requestFilter: RequestFilter) {
- return JSON.parse(
- JSON.stringify(requestFilter, (key, value) =>
- typeof value === 'bigint' ? value.toString() : value
- )
- )
- }
-}
diff --git a/tools/libraries/src/IndexerRegistry.ts b/tools/libraries/src/IndexerRegistry.ts
deleted file mode 100644
index 4a887663a..000000000
--- a/tools/libraries/src/IndexerRegistry.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { ethers } from 'ethers'
-import type { Provider } from '@ethersproject/providers'
-import { IndexerRegistry as IndexerRegistryContract } from '@airswap/indexer-registry/typechain/contracts'
-import { IndexerRegistry__factory } from '@airswap/indexer-registry/typechain/factories/contracts'
-import { chainIds } from '@airswap/constants'
-
-import * as indexersDeploys from '@airswap/indexer-registry/deploys.js'
-
-export class IndexerRegistry {
- public chainId: number
- public contract: IndexerRegistryContract
-
- public constructor(
- chainId = chainIds.MAINNET,
- signerOrProvider?: ethers.Signer | Provider
- ) {
- this.chainId = chainId
- this.contract = IndexerRegistry__factory.connect(
- IndexerRegistry.getAddress(chainId),
- signerOrProvider
- )
- }
- public static getAddress(chainId = chainIds.MAINNET) {
- if (chainId in indexersDeploys) {
- return indexersDeploys[chainId]
- }
- throw new Error(`Wrapper deploy not found for chainId ${chainId}`)
- }
-}
diff --git a/tools/libraries/src/MakerRegistry.ts b/tools/libraries/src/MakerRegistry.ts
deleted file mode 100644
index 7c0e8ceff..000000000
--- a/tools/libraries/src/MakerRegistry.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { ethers } from 'ethers'
-import type { Provider } from '@ethersproject/providers'
-import { MakerRegistry as MakerRegistryContract } from '@airswap/maker-registry/typechain/contracts'
-import { MakerRegistry__factory } from '@airswap/maker-registry/typechain/factories/contracts'
-import { chainIds } from '@airswap/constants'
-
-import { Maker, MakerOptions } from './Maker'
-import { SwapERC20 } from './SwapERC20'
-
-import * as registryDeploys from '@airswap/maker-registry/deploys.js'
-
-export class MakerRegistry {
- public chainId: number
- private contract: MakerRegistryContract
-
- public constructor(
- chainId = chainIds.MAINNET,
- signerOrProvider?: ethers.Signer | Provider
- ) {
- this.chainId = chainId
- this.contract = MakerRegistry__factory.connect(
- MakerRegistry.getAddress(chainId),
- signerOrProvider
- )
- }
-
- public static getAddress(chainId = chainIds.MAINNET): string {
- if (chainId in registryDeploys) {
- return registryDeploys[chainId]
- }
- throw new Error(`MakerRegistry deploy not found for chainId ${chainId}`)
- }
-
- public async getMakers(
- quoteToken: string,
- baseToken: string,
- options?: MakerOptions
- ): Promise> {
- const quoteTokenURLs: string[] = await this.contract.getURLsForToken(
- quoteToken
- )
- const baseTokenURLs: string[] = await this.contract.getURLsForToken(
- baseToken
- )
- const serverPromises = await Promise.allSettled(
- quoteTokenURLs
- .filter((value) => baseTokenURLs.includes(value))
- .map((url) => {
- return Maker.at(url, {
- swapContract:
- options?.swapContract || SwapERC20.getAddress(this.chainId),
- chainId: this.chainId,
- initializeTimeout: options?.initializeTimeout,
- })
- })
- )
- return serverPromises
- .filter((value) => value.status === 'fulfilled')
- .map((v: PromiseFulfilledResult) => v.value)
- }
-}
diff --git a/tools/libraries/src/Maker.ts b/tools/libraries/src/Server.ts
similarity index 54%
rename from tools/libraries/src/Maker.ts
rename to tools/libraries/src/Server.ts
index 5efa30434..6b0dfd986 100644
--- a/tools/libraries/src/Maker.ts
+++ b/tools/libraries/src/Server.ts
@@ -10,22 +10,24 @@ import {
JsonRpcErrorCodes,
WebsocketReadyStates,
} from '@airswap/jsonrpc-client-websocket'
-import { chainIds } from '@airswap/constants'
-import { parseUrl, orderERC20PropsToStrings } from '@airswap/utils'
-import { OrderERC20, Pricing } from '@airswap/types'
-import { SwapERC20 } from './SwapERC20'
-
-export type SupportedProtocolInfo = {
- name: string
- version: string
- params?: any
-}
-export type MakerOptions = {
- chainId?: number
- swapContract?: string
- initializeTimeout?: number
-}
+import { parseUrl, orderERC20PropsToStrings } from '@airswap/utils'
+import {
+ FullOrder,
+ FullOrderERC20,
+ OrderERC20,
+ Pricing,
+ ServerOptions,
+ OrderResponse,
+ SupportedProtocolInfo,
+ RequestFilterERC20,
+ SortOrder,
+ SortField,
+ RequestFilter,
+} from '@airswap/types'
+import { ChainIds, Protocols, protocolNames } from '@airswap/constants'
+
+import { SwapERC20 } from './Contracts'
if (!isBrowser) {
JsonRpcWebsocket.setWebSocketFactory((url: string) => {
@@ -35,45 +37,118 @@ if (!isBrowser) {
}
const REQUEST_TIMEOUT = 4000
-const PROTOCOL_NAMES = {
- 'last-look-erc20': 'Last Look (ERC20)',
- 'request-for-quote-erc20': 'Request for Quote (ERC20)',
+
+export function toSortOrder(key: string): SortOrder | undefined {
+ if (typeof key !== 'string') {
+ return undefined
+ }
+ if (key.toUpperCase() === SortOrder.ASC) {
+ return SortOrder.ASC
+ }
+ if (key.toUpperCase() === SortOrder.DESC) {
+ return SortOrder.DESC
+ }
+
+ return undefined
+}
+
+export function toSortField(key: string): SortField | undefined {
+ if (typeof key !== 'string') {
+ return undefined
+ }
+ if (key.toUpperCase() === SortField.SIGNER_AMOUNT) {
+ return SortField.SIGNER_AMOUNT
+ }
+ if (key.toUpperCase() === SortField.SENDER_AMOUNT) {
+ return SortField.SENDER_AMOUNT
+ }
+ if (key.toUpperCase() === SortField.EXPIRY) {
+ return SortField.EXPIRY
+ }
+ return undefined
+}
+
+export abstract class IndexedOrderError extends Error {
+ public code!: number
+ public constructor(message: string) {
+ super(message)
+ this.message = message
+ }
+}
+export class ErrorResponse {
+ public code: number
+ public message: string
+ public constructor(code: number, message: string) {
+ this.code = code
+ this.message = message
+ }
+}
+export class SuccessResponse {
+ public message: string
+ public constructor(message: string) {
+ this.message = message
+ }
+}
+export class JsonRpcResponse {
+ public id: string
+ public result:
+ | OrderResponse
+ | ErrorResponse
+ | SuccessResponse
+ | undefined
+ private jsonrpc = '2.0'
+
+ public constructor(
+ id: string,
+ result:
+ | OrderResponse
+ | IndexedOrderError
+ | SuccessResponse
+ | undefined
+ ) {
+ this.id = id
+ if (result instanceof Error) {
+ this.result = new ErrorResponse(result.code, result.message)
+ } else {
+ this.result = result
+ }
+ }
}
-export interface MakerEvents {
+export interface ServerEvents {
'pricing-erc20': (pricing: Pricing[]) => void
error: (error: JsonRpcError) => void
}
-export class Maker extends TypedEmitter {
+export class Server extends TypedEmitter {
public transportProtocol: 'websocket' | 'http'
- private supportedProtocols: SupportedProtocolInfo[]
- private isInitialized: boolean
- private httpClient: HttpClient
- private webSocketClient: JsonRpcWebsocket
- private senderMaker: string
- private senderWallet: string
+ private supportedProtocols: SupportedProtocolInfo[] = []
+ private isInitialized = false
+ private httpClient: HttpClient | null = null
+ private webSocketClient: JsonRpcWebsocket | null = null
+ private senderServer: string | null = null
+ private senderWallet: string | null = null
public constructor(
public locator: string,
- private swapContract = SwapERC20.getAddress(),
- private chainId = chainIds.MAINNET
+ private swapContract = SwapERC20.getAddress(ChainIds.MAINNET),
+ private chainId = ChainIds.MAINNET
) {
super()
const protocol = parseUrl(locator).protocol
- this.transportProtocol = protocol.startsWith('http') ? 'http' : 'websocket'
+ this.transportProtocol = protocol?.startsWith('http') ? 'http' : 'websocket'
}
public static async at(
locator: string,
- options?: MakerOptions
- ): Promise {
- const server = new Maker(locator, options?.swapContract, options?.chainId)
+ options?: ServerOptions
+ ): Promise {
+ const server = new Server(locator, options?.swapContract, options?.chainId)
await server._init(options?.initializeTimeout)
return server
}
- public getSupportedProtocolVersion(protocol: string): string | null {
+ public getSupportedProtocol(protocol: string): SupportedProtocolInfo | null {
// Don't check supportedProtocols unless the server has initialized.
// Important for WebSocket servers that can support either RFQ or Last Look
this.requireInitialized()
@@ -81,43 +156,55 @@ export class Maker extends TypedEmitter {
(p) => p.name === protocol
)
if (!supportedProtocolInfo) return null
- return supportedProtocolInfo.version
+ return supportedProtocolInfo
}
- public supportsProtocol(
- protocol: string,
- requestedVersion?: string
- ): boolean {
- const supportedVersion = this.getSupportedProtocolVersion(protocol)
- if (!supportedVersion) return false
- if (!requestedVersion) return true
+ public supportsProtocol(protocol: string): boolean {
+ return !!this.getSupportedProtocol(protocol)
+ }
- const [, wantedMajor, wantedMinor, wantedPatch] =
- /(\d+)\.(\d+)\.(\d+)/.exec(requestedVersion)
- const [, supportedMajor, supportedMinor, supportedPatch] =
- /(\d+)\.(\d+)\.(\d+)/.exec(supportedVersion)
+ public getSenderWallet(): string | null {
+ this.requireLastLookERC20Support()
+ return this.senderWallet
+ }
- if (wantedMajor !== supportedMajor) return false
- if (parseInt(wantedMinor) > parseInt(supportedMinor)) return false
- if (parseInt(wantedPatch) > parseInt(supportedPatch)) return false
- return true
+ /**
+ * Protocols.Discovery
+ */
+ public async getProtocols(): Promise {
+ return this.callRPCMethod('getProtocols', [])
+ }
+
+ public async getTokens(): Promise {
+ return this.callRPCMethod('getTokens', [])
}
+ /**
+ * Protocols.RequestForQuoteERC20
+ */
public async getSignerSideOrderERC20(
senderAmount: string,
signerToken: string,
senderToken: string,
- senderWallet: string
+ senderWallet: string,
+ proxyingFor?: string
): Promise {
this.requireRFQERC20Support()
- return this.callRPCMethod('getSignerSideOrderERC20', {
+ const params: any = {
chainId: String(this.chainId),
swapContract: this.swapContract,
senderAmount: senderAmount.toString(),
signerToken,
senderToken,
senderWallet,
- }).then((order) => {
+ }
+ if (proxyingFor) {
+ params.proxyingFor = proxyingFor
+ }
+ return this.callRPCMethod(
+ 'getSignerSideOrderERC20',
+ params
+ ).then((order) => {
return orderERC20PropsToStrings(order)
})
}
@@ -126,21 +213,42 @@ export class Maker extends TypedEmitter {
signerAmount: string | ethers.BigNumber,
signerToken: string,
senderToken: string,
- senderWallet: string
+ senderWallet: string,
+ proxyingFor?: string
): Promise {
this.requireRFQERC20Support()
- return this.callRPCMethod('getSenderSideOrderERC20', {
+ const params: any = {
chainId: String(this.chainId),
swapContract: this.swapContract,
signerAmount: signerAmount.toString(),
signerToken,
senderToken,
senderWallet,
- }).then((order) => {
+ }
+ if (proxyingFor) {
+ params.proxyingFor = proxyingFor
+ }
+ return this.callRPCMethod(
+ 'getSenderSideOrderERC20',
+ params
+ ).then((order) => {
return orderERC20PropsToStrings(order)
})
}
+ public async getPricingERC20(
+ pairs: { baseToken: string; quoteToken: string }[]
+ ): Promise {
+ return this.callRPCMethod('getPricingERC20', [pairs])
+ }
+
+ public async getAllPricingERC20(): Promise {
+ return this.callRPCMethod('getAllPricingERC20', [])
+ }
+
+ /**
+ * Protocols.LastLookERC20
+ */
public async subscribePricingERC20(
pairs: { baseToken: string; quoteToken: string }[]
): Promise {
@@ -153,6 +261,11 @@ export class Maker extends TypedEmitter {
return pricing
}
+ public async subscribeAllPricingERC20(): Promise {
+ this.requireLastLookERC20Support()
+ return this.callRPCMethod('subscribeAllPricingERC20', [])
+ }
+
public async unsubscribePricingERC20(
pairs: { baseToken: string; quoteToken: string }[]
): Promise {
@@ -160,24 +273,93 @@ export class Maker extends TypedEmitter {
return this.callRPCMethod('unsubscribePricingERC20', [pairs])
}
- public async subscribeAllPricingERC20(): Promise {
+ public async unsubscribeAllPricingERC20(): Promise {
this.requireLastLookERC20Support()
- return this.callRPCMethod('subscribeAllPricingERC20')
+ return this.callRPCMethod('unsubscribeAllPricingERC20', [])
}
- public async unsubscribeAllPricingERC20(): Promise {
+ public async considerOrderERC20(order: OrderERC20): Promise {
this.requireLastLookERC20Support()
- return this.callRPCMethod('unsubscribeAllPricingERC20')
+ return this.callRPCMethod('considerOrderERC20', order)
}
- public getSenderWallet(): string {
- this.requireLastLookERC20Support()
- return this.senderWallet
+ /**
+ * Protocols.StorageERC20
+ */
+ public async addOrderERC20(
+ fullOrder: FullOrderERC20
+ ): Promise {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('addOrderERC20', [fullOrder])) as SuccessResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
}
- public async considerOrderERC20(order: OrderERC20): Promise {
- this.requireLastLookERC20Support()
- return this.callRPCMethod('considerOrderERC20', order)
+ public async getOrdersERC20(): Promise> {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('getOrdersERC20', [
+ {},
+ ])) as OrderResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
+ }
+
+ public async getOrdersERC20By(
+ requestFilter: RequestFilterERC20,
+ filters = false
+ ): Promise> {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('getOrdersERC20', [
+ { ...this.toBigIntJson(requestFilter), filters },
+ ])) as OrderResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
+ }
+
+ /**
+ * Protocols.Storage
+ */
+ public async addOrder(order: FullOrder): Promise {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('addOrder', [order])) as SuccessResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
+ }
+
+ public async getOrders(): Promise> {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('getOrders', [{}])) as OrderResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
+ }
+
+ public async getOrdersBy(
+ requestFilter: RequestFilter
+ ): Promise> {
+ try {
+ return Promise.resolve(
+ (await this.httpCall('getOrders', [
+ { ...requestFilter },
+ ])) as OrderResponse
+ )
+ } catch (err) {
+ return Promise.reject(err)
+ }
}
public disconnect(): void {
@@ -195,7 +377,7 @@ export class Maker extends TypedEmitter {
} else {
this.removeAllListeners()
}
- delete this.webSocketClient
+ this.webSocketClient = null
}
}
@@ -208,7 +390,7 @@ export class Maker extends TypedEmitter {
}
private _initHTTPClient(locator: string, clientOnly?: boolean) {
- // clientOnly flag set when initializing client for last look `senderMaker`
+ // clientOnly flag set when initializing client for last look `senderServer`
const parsedUrl = parseUrl(locator)
const options = {
protocol: parsedUrl.protocol,
@@ -219,14 +401,14 @@ export class Maker extends TypedEmitter {
if (!clientOnly) {
this.supportedProtocols = [
- { name: 'request-for-quote-erc20', version: '2.0.0' },
+ { name: Protocols.RequestForQuoteERC20, version: '2.0.0' },
]
this.isInitialized = true
}
if (isBrowser) {
const jaysonClient = require('jayson/lib/client/browser')
- this.httpClient = new jaysonClient((request, callback) => {
+ this.httpClient = new jaysonClient((request: any, callback: any) => {
fetch(url.format(parsedUrl), {
method: 'POST',
body: request,
@@ -234,13 +416,13 @@ export class Maker extends TypedEmitter {
'Content-Type': 'application/json',
},
})
- .then((res) => {
+ .then((res: any) => {
return res.text()
})
- .then((text) => {
+ .then((text: any) => {
callback(null, text)
})
- .catch((err) => {
+ .catch((err: any) => {
callback(err)
})
}, options)
@@ -272,7 +454,7 @@ export class Maker extends TypedEmitter {
}
)
const initTimeout = setTimeout(() => {
- reject('Maker did not call setProtocols in time')
+ reject('Server did not call setProtocols in time')
this.disconnect()
}, initializeTimeout)
@@ -291,38 +473,29 @@ export class Maker extends TypedEmitter {
}
)
- this.webSocketClient.on('setPricingERC20', this.setPricingERC20.bind(this))
- await this.webSocketClient.open()
+ this.webSocketClient?.on('setPricingERC20', this.setPricingERC20.bind(this))
+ await this.webSocketClient?.open()
await initPromise
}
private requireInitialized() {
- if (!this.isInitialized) throw new Error('Maker not yet initialized')
+ if (!this.isInitialized) throw new Error('Server not yet initialized')
}
- private requireRFQERC20Support(version?: string) {
- this.requireProtocolSupport('request-for-quote-erc20', version)
+ private requireRFQERC20Support() {
+ this.requireProtocolSupport(Protocols.RequestForQuoteERC20)
}
- private requireLastLookERC20Support(version?: string) {
- this.requireProtocolSupport('last-look-erc20', version)
+ private requireLastLookERC20Support() {
+ this.requireProtocolSupport(Protocols.LastLookERC20)
}
- private requireProtocolSupport(protocol: string, version?: string) {
- if (!this.supportsProtocol(protocol, version)) {
- const supportedVersion = this.getSupportedProtocolVersion(protocol)
- let message
- if (supportedVersion) {
- message =
- `Maker at ${this.locator} doesn't support ` +
- `${PROTOCOL_NAMES[protocol]} v${version}` +
- `supported version ${supportedVersion}`
- } else {
- message =
- `Maker at ${this.locator} doesn't ` +
- `support ${PROTOCOL_NAMES[protocol]}`
- }
- throw new Error(message)
+ private requireProtocolSupport(protocol: string) {
+ if (!this.supportsProtocol(protocol)) {
+ throw new Error(
+ `Server at ${this.locator} doesn't ` +
+ `support ${protocolNames[protocol]}`
+ )
}
}
@@ -352,7 +525,9 @@ export class Maker extends TypedEmitter {
if (!Array.isArray(params)) valid = false
if (
valid &&
- !params.every((protocolInfo) => protocolInfo.version && protocolInfo.name)
+ !params.every(
+ (protocolInfo: any) => protocolInfo.version && protocolInfo.name
+ )
)
valid = false
if (!valid) this.throwInvalidParams('setProtocols', JSON.stringify(params))
@@ -364,7 +539,7 @@ export class Maker extends TypedEmitter {
if (
valid &&
!params.every(
- (pricing) =>
+ (pricing: Pricing) =>
pricing.baseToken &&
pricing.quoteToken &&
Array.isArray(pricing.bid) &&
@@ -386,24 +561,32 @@ export class Maker extends TypedEmitter {
this.validateInitializeParams(supportedProtocols)
this.supportedProtocols = supportedProtocols
const lastLookERC20Support = supportedProtocols.find(
- (protocol) => protocol.name === 'last-look-erc20'
+ (protocol) => protocol.name === Protocols.LastLookERC20
)
- if (lastLookERC20Support?.params?.senderMaker) {
- this.senderMaker = lastLookERC20Support.params.senderMaker
+ if (lastLookERC20Support?.params?.senderServer) {
+ this.senderServer = lastLookERC20Support.params.senderServer
// Prepare an http client for consider calls.
- this._initHTTPClient(this.senderMaker, true)
+ this._initHTTPClient(lastLookERC20Support.params.senderServer, true)
}
if (lastLookERC20Support?.params?.senderWallet) {
this.senderWallet = lastLookERC20Support.params.senderWallet
}
}
+ private toBigIntJson(requestFilter: RequestFilterERC20) {
+ return JSON.parse(
+ JSON.stringify(requestFilter, (key, value) =>
+ typeof value === 'bigint' ? value.toString() : value
+ )
+ )
+ }
+
private httpCall(
method: string,
params: Record | Array
): Promise {
return new Promise((resolve, reject) => {
- this.httpClient.request(
+ this.httpClient?.request(
method,
params,
(connectionError: any, serverError: any, result: any) => {
@@ -416,7 +599,7 @@ export class Maker extends TypedEmitter {
if (errors.length) {
reject({
code: -1,
- message: `Maker response differs from request params: ${errors}`,
+ message: `Server response differs from request params: ${errors}`,
})
} else {
resolve(result)
@@ -431,8 +614,8 @@ export class Maker extends TypedEmitter {
method: string,
params?: Record | Array
): Promise {
- const response = await this.webSocketClient.call(method, params)
- return response.result as T
+ const response = await this.webSocketClient?.call(method, params)
+ return response?.result as T
}
/**
@@ -441,11 +624,11 @@ export class Maker extends TypedEmitter {
*/
private async callRPCMethod(
method: string,
- params?: Record | Array
+ params: Record | Array
): Promise {
if (
this.transportProtocol === 'http' ||
- (method === 'considerOrderERC20' && this.senderMaker)
+ (method === 'considerOrderERC20' && this.senderServer)
) {
return this.httpCall(method, params)
} else {
diff --git a/tools/libraries/src/SwapERC20.ts b/tools/libraries/src/SwapERC20.ts
deleted file mode 100644
index 0ceb58aa2..000000000
--- a/tools/libraries/src/SwapERC20.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { ethers, ContractTransaction } from 'ethers'
-import type { Provider } from '@ethersproject/providers'
-import { chainIds } from '@airswap/constants'
-import { OrderERC20 } from '@airswap/types'
-import { SwapERC20 as SwapContract } from '@airswap/swap-erc20/typechain/contracts'
-import { SwapERC20__factory } from '@airswap/swap-erc20/typechain/factories/contracts'
-import { orderERC20ToParams, checkResultToErrors } from '@airswap/utils'
-
-import * as swapDeploys from '@airswap/swap-erc20/deploys.js'
-
-export class SwapERC20 {
- public chainId: number
- public contract: SwapContract
-
- public constructor(
- chainId = chainIds.MAINNET,
- signerOrProvider?: ethers.Signer | Provider
- ) {
- this.chainId = chainId
- this.contract = SwapERC20__factory.connect(
- SwapERC20.getAddress(chainId),
- signerOrProvider
- )
- }
-
- public static getAddress(chainId = chainIds.MAINNET): string {
- if (chainId in swapDeploys) {
- return swapDeploys[chainId]
- }
- throw new Error(`SwapERC20 contract not found for chainId ${chainId}`)
- }
-
- public async check(
- order: OrderERC20,
- senderWallet: string,
- signer?: ethers.providers.JsonRpcSigner
- ): Promise> {
- let contract = this.contract
- if (!this.contract.signer) {
- if (signer === undefined) {
- throw new Error('Signer must be provided')
- } else {
- contract = contract.connect(signer)
- }
- }
- const [count, errors] = await contract.check(
- senderWallet,
- ...orderERC20ToParams(order)
- )
- return checkResultToErrors(count, errors)
- }
-
- public async swap(
- order: OrderERC20,
- sender?: ethers.providers.JsonRpcSigner
- ): Promise {
- let contract = this.contract
- if (!this.contract.signer) {
- if (sender === undefined) {
- throw new Error('Signer must be provided')
- } else {
- contract = contract.connect(sender)
- }
- }
- return await contract.swap(
- sender.getAddress(),
- ...orderERC20ToParams(order)
- )
- }
-
- public async swapAnySender(
- order: OrderERC20,
- sender?: ethers.providers.JsonRpcSigner
- ): Promise {
- let contract = this.contract
- if (!this.contract.signer) {
- if (sender === undefined) {
- throw new Error('Signer must be provided')
- } else {
- contract = contract.connect(sender)
- }
- }
- return await contract.swapAnySender(
- sender.getAddress(),
- ...orderERC20ToParams(order)
- )
- }
-
- public async swapLight(
- order: OrderERC20,
- sender?: ethers.providers.JsonRpcSigner
- ): Promise {
- let contract = this.contract
- if (!this.contract.signer) {
- if (sender === undefined) {
- throw new Error('Signer must be provided')
- } else {
- contract = contract.connect(sender)
- }
- }
- return await contract.swapLight(...orderERC20ToParams(order))
- }
-}
diff --git a/tools/libraries/src/Wrapper.ts b/tools/libraries/src/Wrapper.ts
deleted file mode 100644
index 439103e07..000000000
--- a/tools/libraries/src/Wrapper.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { ContractTransaction, ethers } from 'ethers'
-import type { Provider } from '@ethersproject/providers'
-import { chainIds, wrappedTokenAddresses } from '@airswap/constants'
-import { Wrapper as WrapperContract } from '@airswap/wrapper/typechain/contracts'
-import { Wrapper__factory } from '@airswap/wrapper/typechain/factories/contracts'
-import { OrderERC20 } from '@airswap/types'
-
-import * as wrapperDeploys from '@airswap/wrapper/deploys.js'
-
-export class Wrapper {
- public chainId: number
- public contract: WrapperContract
-
- public constructor(
- chainId = chainIds.MAINNET,
- signerOrProvider?: ethers.Signer | Provider
- ) {
- this.chainId = chainId
- this.contract = Wrapper__factory.connect(
- Wrapper.getAddress(chainId),
- signerOrProvider
- )
- }
-
- public static getAddress(chainId = chainIds.MAINNET): string {
- if (chainId in wrapperDeploys) {
- return wrapperDeploys[chainId]
- }
- throw new Error(`Wrapper deploy not found for chainId ${chainId}`)
- }
-
- public async swap(
- order: OrderERC20,
- signer?: ethers.Signer
- ): Promise {
- let contract = this.contract
- if (!this.contract.signer) {
- if (signer === undefined) {
- throw new Error('Signer must be provided')
- } else {
- contract = contract.connect(signer)
- }
- }
- return await contract.swap(
- order.nonce,
- order.expiry,
- order.signerWallet,
- order.signerToken,
- order.signerAmount,
- order.senderToken,
- order.senderAmount,
- order.v,
- order.r,
- order.s,
- {
- value:
- order.senderToken === wrappedTokenAddresses[this.chainId]
- ? order.senderAmount
- : 0,
- }
- )
- }
-}
diff --git a/tools/libraries/test/Indexer.test.ts b/tools/libraries/test/Indexer.test.ts
deleted file mode 100644
index e2a0a1e8e..000000000
--- a/tools/libraries/test/Indexer.test.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { expect } from 'chai'
-import {
- NodeIndexer,
- SortField,
- SortOrder,
- toSortField,
- toSortOrder,
-} from '../src/Indexer'
-import { ethers } from 'ethers'
-import express from 'express'
-import bodyParser from 'body-parser'
-import { Server } from 'http'
-import {
- createOrderERC20,
- createOrderERC20Signature,
- isValidFullOrderERC20,
-} from '@airswap/utils'
-import { ADDRESS_ZERO, chainIds } from '@airswap/constants'
-
-const signerPrivateKey =
- '0x4934d4ff925f39f91e3729fbce52ef12f25fdf93e014e291350f7d314c1a096b'
-const provider = ethers.getDefaultProvider('goerli')
-const wallet = new ethers.Wallet(signerPrivateKey, provider)
-
-describe('toSortField', () => {
- it('should match value', () => {
- expect(toSortField('SENDER_AMOUNT')).to.equal(SortField.SENDER_AMOUNT)
- expect(toSortField('sender_amount')).to.equal(SortField.SENDER_AMOUNT)
- expect(toSortField('SIGNER_AMOUNT')).to.equal(SortField.SIGNER_AMOUNT)
- expect(toSortField('signer_amount')).to.equal(SortField.SIGNER_AMOUNT)
- })
-
- it('should return undefined', () => {
- expect(toSortField('')).to.equal(undefined)
- expect(toSortField('aze')).to.equal(undefined)
- })
-})
-
-describe('toSortOrder', () => {
- it('should match value', () => {
- expect(toSortOrder('ASC')).to.equal(SortOrder.ASC)
- expect(toSortOrder('asc')).to.equal(SortOrder.ASC)
- expect(toSortOrder('DESC')).to.equal(SortOrder.DESC)
- expect(toSortOrder('desc')).to.equal(SortOrder.DESC)
- })
-
- it('should return undefined', () => {
- expect(toSortOrder('')).to.equal(undefined)
- expect(toSortOrder('aze')).to.equal(undefined)
- })
-})
-
-describe('client', () => {
- let app: express
- let server: Server
-
- before(() => {
- app = express()
- app.use(bodyParser.json())
- server = app.listen(12435)
- })
-
- after(() => {
- server.close()
- })
-
- describe('query on server Node', () => {
- it('Should query on post /getOrdersERC20', async () => {
- app.post('/', async (req, res) => {
- expect(req.body.jsonrpc).to.equal('2.0')
- expect(req.body.method).to.equal('getOrdersERC20')
- expect(req.body.params).to.eql([{}])
-
- const unsignedOrder = createOrderERC20({})
- const signature = await createOrderERC20Signature(
- unsignedOrder,
- wallet.privateKey,
- ADDRESS_ZERO,
- 1
- )
- res.send({
- result: {
- orders: [
- {
- order: {
- ...unsignedOrder,
- ...signature,
- chainId: chainIds.MAINNET,
- swapContract: ADDRESS_ZERO,
- },
- },
- ],
- },
- })
- })
- const result = await new NodeIndexer(
- 'http://localhost:12435'
- ).getOrdersERC20()
- expect(isValidFullOrderERC20(result.orders[0].order)).to.be.true
- })
- })
-})
diff --git a/tools/libraries/test/Maker.test.ts b/tools/libraries/test/Maker.test.ts
deleted file mode 100644
index 5f78f2382..000000000
--- a/tools/libraries/test/Maker.test.ts
+++ /dev/null
@@ -1,392 +0,0 @@
-import { fancy } from 'fancy-test'
-import chai, { expect } from 'chai'
-import sinonChai from 'sinon-chai'
-import { useFakeTimers } from 'sinon'
-
-import { createOrderERC20 } from '@airswap/utils'
-import { ADDRESS_ZERO } from '@airswap/constants'
-
-import { Maker } from '..'
-import {
- addJSONRPCAssertions,
- createRequest,
- createResponse,
- MockSocketServer,
- nextEvent,
-} from './test-utils'
-import { OrderERC20 } from '@airswap/types'
-import { JsonRpcErrorCodes } from '@airswap/jsonrpc-client-websocket'
-
-addJSONRPCAssertions()
-declare global {
- // External library defines a namespace so ignore this rule.
- // eslint-disable-next-line @typescript-eslint/no-namespace
- export namespace Chai {
- interface Assertion {
- JSONRpcRequest(method: string, params?: any): void
- JSONRpcResponse(id: string, result: any): void
- JSONRpcError(id: string, error: any): void
- }
- }
-}
-
-const REQUEST_TIMEOUT = 4000
-const URL = 'maker.example.com'
-
-chai.use(sinonChai)
-
-function mockHttpMaker(api) {
- api.post('/').reply(200, async (uri, body) => {
- const params = body['params']
- let res
- switch (body['method']) {
- case 'getSignerSideOrderERC20':
- res = createOrderERC20({
- signerToken: params.signerToken,
- senderToken: params.senderToken,
- senderAmount: params.senderAmount,
- senderWallet: params.senderWallet,
- })
- break
- case 'considerOrderERC20':
- res = true
- break
- }
- return {
- jsonrpc: '2.0',
- id: body['id'],
- result: res,
- }
- })
-}
-
-describe('HTTPMaker', () => {
- fancy
- .nock('https://' + URL, mockHttpMaker)
- .it('Maker getSignerSideOrderERC20()', async () => {
- const maker = await Maker.at(URL)
- const order = await maker.getSignerSideOrderERC20(
- '0',
- ADDRESS_ZERO,
- ADDRESS_ZERO,
- ADDRESS_ZERO
- )
- expect(order.signerToken).to.equal(ADDRESS_ZERO)
- })
-})
-
-const samplePairs = [
- {
- baseToken: '0xbase1',
- quoteToken: '0xquote1',
- },
- {
- baseToken: '0xbase2',
- quoteToken: '0xquote2',
- },
-]
-const samplePricing = [
- {
- baseToken: '0xbase1',
- quoteToken: '0xquote1',
- bid: [
- ['100', '0.00053'],
- ['1000', '0.00061'],
- ['10000', '0.0007'],
- ],
- ask: [
- ['100', '0.00055'],
- ['1000', '0.00067'],
- ['10000', '0.0008'],
- ],
- },
- {
- baseToken: '0xbase2',
- quoteToken: '0xquote2',
- bid: [
- ['100', '0.00053'],
- ['1000', '0.00061'],
- ['10000', '0.0007'],
- ],
- ask: [
- ['100', '0.00055'],
- ['1000', '0.00067'],
- ['10000', '0.0008'],
- ],
- },
-]
-const fakeOrder: OrderERC20 = {
- nonce: '1',
- expiry: '1234',
- signerWallet: '0xsigner',
- signerToken: '0xtokena',
- signerAmount: '100',
- senderToken: '0xtokenb',
- senderAmount: '200',
- v: 'v',
- r: 'r',
- s: 's',
-}
-
-describe('WebSocketMaker', () => {
- const url = `ws://maker.com:1234/`
- let mockMaker: MockSocketServer
- before(() => {
- MockSocketServer.startMockingWebSocket()
- })
-
- beforeEach(async () => {
- mockMaker = new MockSocketServer(url)
- mockMaker.resetInitOptions()
- })
-
- it('should be initialized after Maker.at has resolved', async () => {
- const maker = await Maker.at(url)
- const correctInitializeResponse = new Promise((resolve) => {
- const onResponse = (socket, data) => {
- // Note mock maker implementation uses id '123' for initialize.
- expect(data).to.be.a.JSONRpcResponse('123', true)
- resolve()
- }
- mockMaker.setNextMessageCallback(onResponse)
- })
- expect(maker.supportsProtocol('last-look-erc20')).to.equal(true)
- expect(maker.supportsProtocol('request-for-quote-erc20')).to.equal(false)
- await correctInitializeResponse
- })
-
- it('should call subscribe with the correct params and emit pricing', async () => {
- const maker = await Maker.at(url)
-
- // Ensure subscribe method is correct format.
- const onSubscribe = (socket, data) => {
- expect(data).to.be.a.JSONRpcRequest('subscribePricingERC20', [
- samplePairs,
- ])
- socket.send(JSON.stringify(createResponse(data.id, samplePricing)))
- }
- mockMaker.setNextMessageCallback(onSubscribe, true)
- const pricing = nextEvent(maker, 'pricing-erc20')
- maker.subscribePricingERC20(samplePairs)
-
- // Ensure pricing is emitted and has the correct values.
- expect(await pricing).to.eql(samplePricing)
-
- const updatedPricing = nextEvent(maker, 'pricing-erc20')
- const latestPricing = [
- [
- {
- baseToken: '0xbase1',
- quoteToken: '0xquote1',
- bid: [
- ['100', '0.00055'],
- ['1000', '0.00064'],
- ['10000', '0.0008'],
- ],
- ask: [
- ['100', '0.00056'],
- ['1000', '0.00068'],
- ['10000', '0.0009'],
- ],
- },
- ],
- ]
-
- const updatePricingRequestId = '456'
- // Ensure client responds to maker correctly when pricing is updated
- const correctUpdatePricingResponse = new Promise((resolve) => {
- const onResponse = (socket, data) => {
- expect(data).to.be.a.JSONRpcResponse(updatePricingRequestId, true)
- resolve()
- }
- mockMaker.setNextMessageCallback(onResponse)
- })
-
- // Ensure setPricingERC20 is correctly called and causes pricing to be emitted
- mockMaker.emit(
- 'message',
- JSON.stringify(
- createRequest('setPricingERC20', latestPricing, updatePricingRequestId)
- )
- )
- expect(await updatedPricing).to.eql(latestPricing[0])
- await correctUpdatePricingResponse
- })
-
- it('should call considerOrderERC20 with the correct parameters', async () => {
- const maker = await Maker.at(url)
- const onConsider = (socket, data) => {
- expect(data).to.be.a.JSONRpcRequest('considerOrderERC20', fakeOrder)
- socket.send(JSON.stringify(createResponse(data.id, true)))
- }
- mockMaker.setNextMessageCallback(onConsider, true)
- const result = await maker.considerOrderERC20(fakeOrder)
- expect(result).to.equal(true)
- })
-
- fancy
- .nock('https://' + URL, mockHttpMaker)
- .it(
- 'should use HTTP for consider when senderMaker is provided',
- async () => {
- mockMaker.initOptions = {
- lastLook: '1.0.0',
- params: {
- swapContract: '0x1234',
- senderWallet: '0x2345',
- senderMaker: URL,
- },
- }
-
- const maker = await Maker.at(url)
- const result = await maker.considerOrderERC20(fakeOrder)
- expect(result).to.equal(true)
- }
- )
-
- it('should call unsubscribe with the correct parameters', async () => {
- const maker = await Maker.at(url)
- const onUnsubscribe = (socket, data) => {
- expect(data).to.be.a.JSONRpcRequest('unsubscribePricingERC20', [
- samplePairs,
- ])
- socket.send(JSON.stringify(createResponse(data.id, true)))
- }
- mockMaker.setNextMessageCallback(onUnsubscribe, true)
- const result = await maker.unsubscribePricingERC20(samplePairs)
- expect(result).to.equal(true)
- })
-
- it('should call subscribeAll and unsubscribeAll correctly', async () => {
- const maker = await Maker.at(url)
- const onSubscribeAll = (socket, data) => {
- expect(data).to.be.a.JSONRpcRequest('subscribeAllPricingERC20')
- socket.send(JSON.stringify(createResponse(data.id, true)))
- }
- const onUnsubscribeAll = (socket, data) => {
- expect(data).to.be.a.JSONRpcRequest('unsubscribeAllPricingERC20')
- socket.send(JSON.stringify(createResponse(data.id, true)))
- }
- mockMaker.setNextMessageCallback(onSubscribeAll, true)
- const subscribeResult = await maker.subscribeAllPricingERC20()
- expect(subscribeResult).to.equal(true)
- mockMaker.setNextMessageCallback(onUnsubscribeAll, true)
- const unsubscribeResult = await maker.unsubscribeAllPricingERC20()
- expect(unsubscribeResult).to.equal(true)
- })
-
- it("should throw if the maker doesn't initialize within timeout", async () => {
- const fakeTimers = useFakeTimers()
- // prevent maker from initializing
- mockMaker.initOptions = null
- const initializePromise = Maker.at(url)
- // This is the default timeout.
- fakeTimers.tick(REQUEST_TIMEOUT)
- try {
- await initializePromise
- throw new Error('Maker.at should not resolve before initialize')
- } catch (e) {
- expect(e).to.equal('Maker did not call setProtocols in time')
- }
- fakeTimers.restore()
- })
-
- it('should correctly indicate support for protocol versions', async () => {
- // Protocol is supported if the major version is the same,
- // and minor and patch versions are the same or greater than requried
- mockMaker.initOptions = { lastLook: '1.2.3' }
- const maker = await Maker.at(url)
- expect(maker.supportsProtocol('last-look-erc20')).to.be.true
- expect(maker.supportsProtocol('request-for-quote-erc20')).to.be.false
- expect(maker.supportsProtocol('last-look-erc20', '0.9.1')).to.be.false
- expect(maker.supportsProtocol('last-look-erc20', '1.0.0')).to.be.true
- expect(maker.supportsProtocol('last-look-erc20', '1.1.1')).to.be.true
- expect(maker.supportsProtocol('last-look-erc20', '1.2.3')).to.be.true
- expect(maker.supportsProtocol('last-look-erc20', '1.2.4')).to.be.false
- expect(maker.supportsProtocol('last-look-erc20', '1.3.0')).to.be.false
- expect(maker.supportsProtocol('last-look-erc20', '2.2.3')).to.be.false
- })
-
- it('should reject when calling a method from an unsupported protocol', async () => {
- const maker = await Maker.at(url)
- try {
- await maker.getSignerSideOrderERC20(
- '0',
- ADDRESS_ZERO,
- ADDRESS_ZERO,
- ADDRESS_ZERO
- )
- throw new Error('expected getSignerSideOrder method to reject')
- } catch (e) {
- expect(e.message).to.match(/support/)
- }
- })
-
- it('should not initialize if setProtocols is called with bad params', async () => {
- mockMaker.initOptions = null
- const responseReceived = new Promise((resolve) => {
- const onInitializeResponse = () => {
- resolve()
- }
- mockMaker.setNextMessageCallback(onInitializeResponse)
- })
- mockMaker.on('connection', (socket) => {
- socket.send(
- JSON.stringify(
- createRequest('setProtocols', [{ bad: 'params' }], 'abc')
- )
- )
- })
- Maker.at(url).catch(() => {
- /* this is expected, maker won't init */
- })
-
- await responseReceived
- })
-
- it('should respond with an error if pricing is called with bad params', async () => {
- await Maker.at(url)
- const initResponseReceived = new Promise((resolve) => {
- mockMaker.setNextMessageCallback(() => resolve())
- })
- await initResponseReceived
- const responseReceived = new Promise((resolve) => {
- const onPricingReponse = (socket, data) => {
- expect(data).to.be.a.JSONRpcError('abc', {
- code: JsonRpcErrorCodes.INVALID_PARAMS,
- message:
- 'Received invalid param format or values for method "setPricingERC20": {"bad":"pricing"}',
- })
- resolve()
- }
- mockMaker.setNextMessageCallback(onPricingReponse)
- })
-
- mockMaker.emit(
- 'message',
- JSON.stringify(
- createRequest('setPricingERC20', [{ bad: 'pricing' }], 'abc')
- )
- )
-
- await responseReceived
- })
-
- it('should return the correct sender wallet', async () => {
- mockMaker.initOptions = {
- lastLook: '1.2.3',
- params: {
- senderWallet: '0xmySender',
- },
- }
- const maker = await Maker.at(url)
- expect(maker.getSenderWallet()).to.equal('0xmySender')
- })
-
- afterEach(() => {
- mockMaker.close()
- })
- after(() => {
- MockSocketServer.stopMockingWebSocket()
- })
-})
diff --git a/tools/libraries/test/Server.test.ts b/tools/libraries/test/Server.test.ts
new file mode 100644
index 000000000..f552bd06d
--- /dev/null
+++ b/tools/libraries/test/Server.test.ts
@@ -0,0 +1,518 @@
+import { fancy } from 'fancy-test'
+import chai, { expect } from 'chai'
+import sinonChai from 'sinon-chai'
+import { useFakeTimers } from 'sinon'
+import { ethers } from 'ethers'
+
+import {
+ createOrder,
+ createOrderERC20,
+ createOrderERC20Signature,
+ createOrderSignature,
+ isValidFullOrder,
+ isValidFullOrderERC20,
+} from '@airswap/utils'
+import { ADDRESS_ZERO, ChainIds, Protocols } from '@airswap/constants'
+
+import { Server } from '../index'
+import { toSortField, toSortOrder } from '../index'
+import {
+ addJSONRPCAssertions,
+ createRequest,
+ createResponse,
+ MockSocketServer,
+ nextEvent,
+} from './test-utils'
+import { OrderERC20, SortField, SortOrder } from '@airswap/types'
+import { JsonRpcErrorCodes } from '@airswap/jsonrpc-client-websocket'
+
+addJSONRPCAssertions()
+declare global {
+ // External library defines a namespace so ignore this rule.
+ // eslint-disable-next-line @typescript-eslint/no-namespace
+ export namespace Chai {
+ interface Assertion {
+ JSONRpcRequest(method: string, params?: any): void
+ JSONRpcResponse(id: string, result: any): void
+ JSONRpcError(id: string, error: any): void
+ }
+ }
+}
+
+const USDC = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
+const USDT = '0xdac17f958d2ee523a2206206994597c13d831ec7'
+
+const REQUEST_TIMEOUT = 4000
+const URL = 'server.example.com'
+const signerPrivateKey =
+ '0x4934d4ff925f39f91e3729fbce52ef12f25fdf93e014e291350f7d314c1a096b'
+const wallet = new ethers.Wallet(signerPrivateKey)
+
+chai.use(sinonChai)
+
+function mockHttpServer(api) {
+ api.post('/').reply(200, async (uri, body) => {
+ const params = body['params']
+ let res
+ switch (body['method']) {
+ case 'getProtocols':
+ res = [Protocols.Discovery, Protocols.RequestForQuoteERC20]
+ break
+ case 'getTokens':
+ res = [USDC, USDT]
+ break
+ case 'getSignerSideOrderERC20':
+ res = createOrderERC20({
+ signerToken: params.signerToken,
+ senderToken: params.senderToken,
+ senderAmount: params.senderAmount,
+ senderWallet: params.senderWallet,
+ })
+ console.log(params.proxyingFor)
+ break
+ case 'getOrdersERC20':
+ const unsignedOrderERC20 = createOrderERC20({})
+ const signatureERC20 = await createOrderERC20Signature(
+ unsignedOrderERC20,
+ wallet.privateKey,
+ ADDRESS_ZERO,
+ 1
+ )
+ res = {
+ orders: [
+ {
+ order: {
+ ...unsignedOrderERC20,
+ ...signatureERC20,
+ chainId: ChainIds.MAINNET,
+ swapContract: ADDRESS_ZERO,
+ },
+ },
+ ],
+ }
+ break
+ case 'getOrders':
+ if (params[0]['page']) {
+ expect(params[0]['page']).to.equal(1)
+ expect(params[0]['signerAddress']).to.equal(ADDRESS_ZERO)
+ }
+ res = await forgeFullOrder()
+ break
+ case 'considerOrderERC20':
+ res = true
+ break
+ }
+ return {
+ jsonrpc: '2.0',
+ id: body['id'],
+ result: res,
+ }
+ })
+}
+
+describe('HTTPServer', () => {
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getProtocols()', async () => {
+ const server = await Server.at(URL)
+ const result = await server.getProtocols()
+ expect(result[0]).to.be.equal(Protocols.Discovery)
+ expect(result[1]).to.be.equal(Protocols.RequestForQuoteERC20)
+ })
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getTokens()', async () => {
+ const server = await Server.at(URL)
+ const result = await server.getTokens()
+ expect(result[0]).to.be.equal(USDC)
+ expect(result[1]).to.be.equal(USDT)
+ })
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getSignerSideOrderERC20()', async () => {
+ const server = await Server.at(URL)
+ const order = await server.getSignerSideOrderERC20(
+ '0',
+ ADDRESS_ZERO,
+ ADDRESS_ZERO,
+ ADDRESS_ZERO
+ )
+ expect(order.signerToken).to.equal(ADDRESS_ZERO)
+ })
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getOrdersERC20()', async () => {
+ const server = await Server.at(URL)
+ const result = await server.getOrdersERC20()
+ expect(isValidFullOrderERC20(result.orders[0].order)).to.be.true
+ })
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getOrders()', async () => {
+ const server = await Server.at(URL)
+ const result = await server.getOrders()
+ expect(isValidFullOrder(result.orders[0].order)).to.be.true
+ })
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it('Server getOrdersBy()', async () => {
+ const server = await Server.at(URL)
+ const result = await server.getOrdersBy({
+ page: 1,
+ signerAddress: ADDRESS_ZERO,
+ })
+ expect(isValidFullOrder(result.orders[0].order)).to.be.true
+ })
+})
+
+const samplePairs = [
+ {
+ baseToken: '0xbase1',
+ quoteToken: '0xquote1',
+ },
+ {
+ baseToken: '0xbase2',
+ quoteToken: '0xquote2',
+ },
+]
+const samplePricing = [
+ {
+ baseToken: '0xbase1',
+ quoteToken: '0xquote1',
+ bid: [
+ ['100', '0.00053'],
+ ['1000', '0.00061'],
+ ['10000', '0.0007'],
+ ],
+ ask: [
+ ['100', '0.00055'],
+ ['1000', '0.00067'],
+ ['10000', '0.0008'],
+ ],
+ },
+ {
+ baseToken: '0xbase2',
+ quoteToken: '0xquote2',
+ bid: [
+ ['100', '0.00053'],
+ ['1000', '0.00061'],
+ ['10000', '0.0007'],
+ ],
+ ask: [
+ ['100', '0.00055'],
+ ['1000', '0.00067'],
+ ['10000', '0.0008'],
+ ],
+ },
+]
+const fakeOrder: OrderERC20 = {
+ nonce: '1',
+ expiry: '1234',
+ signerWallet: '0xsigner',
+ signerToken: '0xtokena',
+ signerAmount: '100',
+ senderToken: '0xtokenb',
+ senderAmount: '200',
+ v: 'v',
+ r: 'r',
+ s: 's',
+}
+
+describe('WebSocketServer', () => {
+ const url = `ws://server.com:1234/`
+ let mockServer: MockSocketServer
+ before(() => {
+ MockSocketServer.startMockingWebSocket()
+ })
+
+ beforeEach(async () => {
+ mockServer = new MockSocketServer(url)
+ mockServer.resetInitOptions()
+ })
+
+ it('should be initialized after Server.at has resolved', async () => {
+ const server = await Server.at(url)
+ const correctInitializeResponse = new Promise((resolve) => {
+ const onResponse = (socket, data) => {
+ // Note mock server implementation uses id '123' for initialize.
+ expect(data).to.be.a.JSONRpcResponse('123', true)
+ resolve()
+ }
+ mockServer.setNextMessageCallback(onResponse)
+ })
+ expect(server.supportsProtocol(Protocols.LastLookERC20)).to.equal(true)
+ expect(server.supportsProtocol(Protocols.RequestForQuoteERC20)).to.equal(
+ false
+ )
+ await correctInitializeResponse
+ })
+
+ it('should call subscribe with the correct params and emit pricing', async () => {
+ const server = await Server.at(url)
+
+ // Ensure subscribe method is correct format.
+ const onSubscribe = (socket, data) => {
+ expect(data).to.be.a.JSONRpcRequest('subscribePricingERC20', [
+ samplePairs,
+ ])
+ socket.send(JSON.stringify(createResponse(data.id, samplePricing)))
+ }
+ mockServer.setNextMessageCallback(onSubscribe, true)
+ const pricing = nextEvent(server, 'pricing-erc20')
+ server.subscribePricingERC20(samplePairs)
+
+ // Ensure pricing is emitted and has the correct values.
+ expect(await pricing).to.eql(samplePricing)
+
+ const updatedPricing = nextEvent(server, 'pricing-erc20')
+ const latestPricing = [
+ [
+ {
+ baseToken: '0xbase1',
+ quoteToken: '0xquote1',
+ bid: [
+ ['100', '0.00055'],
+ ['1000', '0.00064'],
+ ['10000', '0.0008'],
+ ],
+ ask: [
+ ['100', '0.00056'],
+ ['1000', '0.00068'],
+ ['10000', '0.0009'],
+ ],
+ },
+ ],
+ ]
+
+ const updatePricingRequestId = '456'
+ // Ensure client responds to server correctly when pricing is updated
+ const correctUpdatePricingResponse = new Promise((resolve) => {
+ const onResponse = (socket, data) => {
+ expect(data).to.be.a.JSONRpcResponse(updatePricingRequestId, true)
+ resolve()
+ }
+ mockServer.setNextMessageCallback(onResponse)
+ })
+
+ // Ensure updatePricing is correctly called and causes pricing to be emitted
+ mockServer.emit(
+ 'message',
+ JSON.stringify(
+ createRequest('setPricingERC20', latestPricing, updatePricingRequestId)
+ )
+ )
+ expect(await updatedPricing).to.eql(latestPricing[0])
+ await correctUpdatePricingResponse
+ })
+
+ it('should call considerOrderERC20 with the correct parameters', async () => {
+ const server = await Server.at(url)
+ const onConsider = (socket, data) => {
+ expect(data).to.be.a.JSONRpcRequest('considerOrderERC20', fakeOrder)
+ socket.send(JSON.stringify(createResponse(data.id, true)))
+ }
+ mockServer.setNextMessageCallback(onConsider, true)
+ const result = await server.considerOrderERC20(fakeOrder)
+ expect(result).to.equal(true)
+ })
+
+ fancy
+ .nock('https://' + URL, mockHttpServer)
+ .it(
+ 'should use HTTP for consider when senderServer is provided',
+ async () => {
+ mockServer.initOptions = {
+ lastLook: '1.0.0',
+ params: {
+ swapContract: '0x1234',
+ senderWallet: '0x2345',
+ senderServer: URL,
+ },
+ }
+
+ const server = await Server.at(url)
+ const result = await server.considerOrderERC20(fakeOrder)
+ expect(result).to.equal(true)
+ }
+ )
+
+ it('should call unsubscribe with the correct parameters', async () => {
+ const server = await Server.at(url)
+ const onUnsubscribe = (socket, data) => {
+ expect(data).to.be.a.JSONRpcRequest('unsubscribePricingERC20', [
+ samplePairs,
+ ])
+ socket.send(JSON.stringify(createResponse(data.id, true)))
+ }
+ mockServer.setNextMessageCallback(onUnsubscribe, true)
+ const result = await server.unsubscribePricingERC20(samplePairs)
+ expect(result).to.equal(true)
+ })
+
+ it('should call subscribeAll and unsubscribeAll correctly', async () => {
+ const server = await Server.at(url)
+ const onSubscribeAll = (socket, data) => {
+ expect(data).to.be.a.JSONRpcRequest('subscribeAllPricingERC20')
+ socket.send(JSON.stringify(createResponse(data.id, true)))
+ }
+ const onUnsubscribeAll = (socket, data) => {
+ expect(data).to.be.a.JSONRpcRequest('unsubscribeAllPricingERC20')
+ socket.send(JSON.stringify(createResponse(data.id, true)))
+ }
+ mockServer.setNextMessageCallback(onSubscribeAll, true)
+ const subscribeResult = await server.subscribeAllPricingERC20()
+ expect(subscribeResult).to.equal(true)
+ mockServer.setNextMessageCallback(onUnsubscribeAll, true)
+ const unsubscribeResult = await server.unsubscribeAllPricingERC20()
+ expect(unsubscribeResult).to.equal(true)
+ })
+
+ it("should throw if the server doesn't initialize within timeout", async () => {
+ const fakeTimers = useFakeTimers()
+ // prevent server from initializing
+ mockServer.initOptions = null
+ const initializePromise = Server.at(url)
+ // This is the default timeout.
+ fakeTimers.tick(REQUEST_TIMEOUT)
+ try {
+ await initializePromise
+ throw new Error('Server.at should not resolve before initialize')
+ } catch (e) {
+ expect(e).to.equal('Server did not call setProtocols in time')
+ }
+ fakeTimers.restore()
+ })
+
+ it('should reject when calling a method from an unsupported protocol', async () => {
+ const server = await Server.at(url)
+ try {
+ await server.getSignerSideOrderERC20(
+ '0',
+ ADDRESS_ZERO,
+ ADDRESS_ZERO,
+ ADDRESS_ZERO
+ )
+ throw new Error('expected getSignerSideOrder method to reject')
+ } catch (e) {
+ expect(e.message).to.match(/support/)
+ }
+ })
+
+ it('should not initialize if initialize is called with bad params', async () => {
+ mockServer.initOptions = {}
+ const responseReceived = new Promise((resolve) => {
+ const onInitializeResponse = () => {
+ resolve()
+ }
+ mockServer.setNextMessageCallback(onInitializeResponse)
+ })
+ mockServer.on('connection', (socket) => {
+ socket.send(
+ JSON.stringify(
+ createRequest('setProtocols', [{ bad: 'params' }], 'abc')
+ )
+ )
+ })
+ Server.at(url).catch(() => {
+ /* this is expected, server won't init */
+ })
+
+ await responseReceived
+ })
+
+ it('should respond with an error if pricing is called with bad params', async () => {
+ await Server.at(url)
+ const initResponseReceived = new Promise((resolve) => {
+ mockServer.setNextMessageCallback(() => resolve())
+ })
+ await initResponseReceived
+ const responseReceived = new Promise((resolve) => {
+ const onPricingReponse = (socket, data) => {
+ expect(data).to.be.a.JSONRpcError('abc', {
+ code: JsonRpcErrorCodes.INVALID_PARAMS,
+ message:
+ 'Received invalid param format or values for method "setPricingERC20": {"bad":"pricing"}',
+ })
+ resolve()
+ }
+ mockServer.setNextMessageCallback(onPricingReponse)
+ })
+
+ mockServer.emit(
+ 'message',
+ JSON.stringify(
+ createRequest('setPricingERC20', [{ bad: 'pricing' }], 'abc')
+ )
+ )
+
+ await responseReceived
+ })
+
+ it('should return the correct sender wallet', async () => {
+ mockServer.initOptions = {
+ lastLook: '1.2.3',
+ params: {
+ senderWallet: '0xmySender',
+ },
+ }
+ const server = await Server.at(url)
+ expect(server.getSenderWallet()).to.equal('0xmySender')
+ })
+
+ afterEach(() => {
+ mockServer.close()
+ })
+ after(() => {
+ MockSocketServer.stopMockingWebSocket()
+ })
+})
+
+describe('Storage', () => {
+ it('sort field: should match value', () => {
+ expect(toSortField('SENDER_AMOUNT')).to.equal(SortField.SENDER_AMOUNT)
+ expect(toSortField('sender_amount')).to.equal(SortField.SENDER_AMOUNT)
+ expect(toSortField('SIGNER_AMOUNT')).to.equal(SortField.SIGNER_AMOUNT)
+ expect(toSortField('signer_amount')).to.equal(SortField.SIGNER_AMOUNT)
+ expect(toSortField('EXPIRY')).to.equal(SortField.EXPIRY)
+ expect(toSortField('expiry')).to.equal(SortField.EXPIRY)
+ })
+
+ it('sort field: should return undefined', () => {
+ expect(toSortField('')).to.equal(undefined)
+ expect(toSortField('aze')).to.equal(undefined)
+ })
+
+ it('sort order: should match value', () => {
+ expect(toSortOrder('ASC')).to.equal(SortOrder.ASC)
+ expect(toSortOrder('asc')).to.equal(SortOrder.ASC)
+ expect(toSortOrder('DESC')).to.equal(SortOrder.DESC)
+ expect(toSortOrder('desc')).to.equal(SortOrder.DESC)
+ })
+
+ it('sort order: should return undefined', () => {
+ expect(toSortOrder('')).to.equal(undefined)
+ expect(toSortOrder('aze')).to.equal(undefined)
+ })
+})
+
+async function forgeFullOrder() {
+ const unsignedOrder = createOrder({})
+ const signature = await createOrderSignature(
+ unsignedOrder,
+ wallet.privateKey,
+ ADDRESS_ZERO,
+ 1
+ )
+ return {
+ orders: [
+ {
+ order: {
+ ...unsignedOrder,
+ ...signature,
+ chainId: ChainIds.MAINNET,
+ swapContract: ADDRESS_ZERO,
+ },
+ },
+ ],
+ }
+}
diff --git a/tools/libraries/test/test-utils.ts b/tools/libraries/test/test-utils.ts
index 94565f963..103bcdaa0 100644
--- a/tools/libraries/test/test-utils.ts
+++ b/tools/libraries/test/test-utils.ts
@@ -6,6 +6,7 @@ import {
} from '@airswap/jsonrpc-client-websocket'
import mock from 'mock-require'
import { WebSocket, Server as BaseMockSocketServer } from 'mock-socket'
+import { Protocols } from '@airswap/constants'
export function addJSONRPCAssertions(): void {
chai.Assertion.addMethod(
@@ -122,13 +123,13 @@ export class MockSocketServer extends BaseMockSocketServer {
if (this._initOptions) {
if (this._initOptions.lastLook)
protocols.push({
- name: 'last-look-erc20',
+ name: Protocols.LastLookERC20,
version: this._initOptions.lastLook,
params: this._initOptions.params,
})
if (this._initOptions.rfq)
protocols.push({
- name: 'request-for-quote-erc20',
+ name: Protocols.RequestForQuoteERC20,
version: this._initOptions.rfq,
params: this._initOptions.params,
})
diff --git a/tools/libraries/tsconfig.json b/tools/libraries/tsconfig.json
index b22de25e3..3271011f0 100644
--- a/tools/libraries/tsconfig.json
+++ b/tools/libraries/tsconfig.json
@@ -1,16 +1,7 @@
{
+ "extends": "../../tsconfig.json",
"compilerOptions": {
- "target": "es5",
- "module": "commonjs",
- "moduleResolution": "node",
- "lib": ["es2019", "dom"],
- "esModuleInterop": true,
- "skipLibCheck": false,
- "resolveJsonModule": true,
- "suppressImplicitAnyIndexErrors": true,
- "sourceMap": true,
- "declaration": true,
+ "lib": ["es2021", "dom"],
"outDir": "./build"
- },
- "exclude": ["**/test/", "**/build/"]
-}
\ No newline at end of file
+ }
+}
diff --git a/tools/metadata/README.md b/tools/metadata/README.md
index c03b6cf1a..db253568a 100644
--- a/tools/metadata/README.md
+++ b/tools/metadata/README.md
@@ -25,8 +25,8 @@ Import into your application:
```TypeScript
import { getKnownTokens } from '@airswap/metadata'
-import { chainIds } from '@airswap/constants'
-const { errors, tokens } = await getKnownTokens(chainIds.MAINNET)
+import { ChainIds } from '@airswap/constants'
+const { errors, tokens } = await getKnownTokens(ChainIds.MAINNET)
```
## Commands
diff --git a/tools/metadata/constants.ts b/tools/metadata/constants.ts
index ba7e047db..1278ac671 100644
--- a/tools/metadata/constants.ts
+++ b/tools/metadata/constants.ts
@@ -1,35 +1,32 @@
-import { chainIds } from '@airswap/constants'
+import { ChainIds } from '@airswap/constants'
-export const tokenListURLs = {
- [chainIds.MAINNET]: [
+export const tokenListURLs: Record = {
+ [ChainIds.MAINNET]: [
'https://raw.githubusercontent.com/compound-finance/token-list/master/compound.tokenlist.json',
- 'https://umaproject.org/uma.tokenlist.json',
'https://raw.githubusercontent.com/SetProtocol/uniswap-tokenlist/main/set.tokenlist.json',
'https://app.tryroll.com/tokens.json',
'https://tokens.coingecko.com/uniswap/all.json',
- 'https://zapper.fi/api/token-list',
'https://tokenlist.aave.eth.link',
'https://tokens.coingecko.com/ethereum/all.json',
],
- [chainIds.RSK]: [
+ [ChainIds.RSK]: [
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rsk.json',
],
- [chainIds.BSC]: [
+ [ChainIds.BSC]: [
'https://raw.githubusercontent.com/ApeSwapFinance/apeswap-token-lists/main/lists/apeswap.json',
'https://tokens.pancakeswap.finance/pancakeswap-top-100.json',
'https://tokens.pancakeswap.finance/pancakeswap-extended.json',
],
- [chainIds.POLYGON]: [
+ [ChainIds.POLYGON]: [
'https://unpkg.com/quickswap-default-token-list@1.2.9/build/quickswap-default.tokenlist.json',
'https://storageapi.fleek.co/tomafrench-team-bucket/polygon.vetted.tokenlist.json',
],
- [chainIds.OPTIMISM]: ['https://static.optimism.io/optimism.tokenlist.json'],
- [chainIds.ARBITRUM]: [
+ [ChainIds.ARBITRUM]: [
'https://bridge.arbitrum.io/token-list-42161.json',
'https://tracer.finance/tokens',
'https://storageapi.fleek.co/tomafrench-team-bucket/arbitrum.vetted.tokenlist.json',
],
- [chainIds.AVALANCHE]: [
+ [ChainIds.AVALANCHE]: [
'https://matcha.xyz/tokenlists/43114.json',
'https://raw.githubusercontent.com/pangolindex/tokenlists/main/defi.tokenlist.json',
'https://raw.githubusercontent.com/pangolindex/tokenlists/main/stablecoin.tokenlist.json',
diff --git a/tools/metadata/index.ts b/tools/metadata/index.ts
index 84356fc12..206d0120d 100644
--- a/tools/metadata/index.ts
+++ b/tools/metadata/index.ts
@@ -1,5 +1,5 @@
import axios from 'axios'
-import * as ethers from 'ethers'
+import { ethers } from 'ethers'
import {
TokenInfo,
CollectionTokenInfo,
@@ -8,10 +8,11 @@ import {
} from '@airswap/types'
import { defaults, tokenListURLs } from './constants'
import {
- tokenKinds,
+ TokenKinds,
chainNames,
stakingTokenAddresses,
} from '@airswap/constants'
+// @ts-ignore
import validUrl from 'valid-url'
const AIRSWAP_LOGO_URI =
@@ -27,7 +28,7 @@ import { abi as ERC1155_ABI } from '@openzeppelin/contracts/build/contracts/ERC1
export async function getKnownTokens(
chainId: number
): Promise<{ tokens: TokenInfo[]; errors: string[] }> {
- const errors = []
+ const errors: Array = []
let tokens = []
tokens.push(...defaults)
if (tokenListURLs[chainId]) {
@@ -39,7 +40,7 @@ export async function getKnownTokens(
return data.tokens
}
return { url, message: 'Invalid token list' }
- } catch (e) {
+ } catch (e: any) {
return { url, message: e.message }
}
})
@@ -78,10 +79,12 @@ export async function getKnownTokens(
export function findTokenByAddress(
address: string,
tokens: TokenInfo[]
-): TokenInfo {
- return tokens.find((token) => {
- return token.address.toLowerCase() === address.toLowerCase()
- })
+): TokenInfo | null {
+ return (
+ tokens.find((token) => {
+ return token.address.toLowerCase() === address.toLowerCase()
+ }) || null
+ )
}
export function findTokensBySymbol(
@@ -96,10 +99,12 @@ export function findTokensBySymbol(
export function firstTokenBySymbol(
symbol: string,
tokens: TokenInfo[]
-): TokenInfo {
- return tokens.find((token) => {
- return token.symbol === symbol
- })
+): TokenInfo | null {
+ return (
+ tokens.find((token) => {
+ return token.symbol === symbol
+ }) || null
+ )
}
export function getStakingTokens(): TokenInfo[] {
@@ -123,23 +128,23 @@ export function getStakingTokens(): TokenInfo[] {
}
export async function getTokenKind(
- provider: ethers.providers.BaseProvider,
+ provider: ethers.providers.Provider,
address: string
): Promise {
const contract = new ethers.Contract(address, ERC165_ABI, provider)
let supportsERC165 = true
- let tokenKind = tokenKinds.ERC20
+ let tokenKind = TokenKinds.ERC20
try {
- if (await contract.supportsInterface(tokenKinds.ERC721)) {
- tokenKind = tokenKinds.ERC721
+ if (await contract.supportsInterface(TokenKinds.ERC721)) {
+ tokenKind = TokenKinds.ERC721
}
} catch (e) {
supportsERC165 = false
}
if (supportsERC165) {
- if (tokenKind === tokenKinds.ERC20) {
- if (await contract.supportsInterface(tokenKinds.ERC1155)) {
- tokenKind = tokenKinds.ERC1155
+ if (tokenKind === TokenKinds.ERC20) {
+ if (await contract.supportsInterface(TokenKinds.ERC1155)) {
+ tokenKind = TokenKinds.ERC1155
}
}
}
@@ -147,7 +152,7 @@ export async function getTokenKind(
}
export async function getTokenInfo(
- provider: ethers.providers.BaseProvider,
+ provider: ethers.providers.Provider,
address: string
): Promise {
if (!ethers.utils.isAddress(address)) {
@@ -176,7 +181,7 @@ export async function getTokenInfo(
}
export async function getCollectionTokenInfo(
- provider: ethers.providers.BaseProvider,
+ provider: ethers.providers.Provider,
address: string,
id: string
): Promise {
@@ -193,31 +198,31 @@ export async function getCollectionTokenInfo(
}
try {
switch (tokenKind) {
- case tokenKinds.ERC721:
+ case TokenKinds.ERC721:
uri = await new ethers.Contract(address, ERC721_ABI, provider).tokenURI(
id
)
metadata = transformERC721ToCollectionToken(await fetchMetaData(uri))
break
- case tokenKinds.ERC1155:
+ case TokenKinds.ERC1155:
uri = await new ethers.Contract(address, ERC1155_ABI, provider).uri(id)
metadata = transformERC1155ToCollectionToken(await fetchMetaData(uri))
break
}
- } catch (e) {
+ } catch (e: any) {
throw `Unable to fetch token metadata: ${e.message}`
}
return {
chainId: (await provider.getNetwork()).chainId,
kind: tokenKind,
address: address.toLowerCase(),
- id,
+ id: Number(id),
uri,
...metadata,
}
}
-async function fetchMetaData(uri) {
+async function fetchMetaData(uri: string) {
if (validUrl.isUri(uri)) {
if (uri.startsWith('ipfs')) {
uri = `https://cloudflare-ipfs.com/${uri.replace('://', '/')}`
diff --git a/tools/metadata/package.json b/tools/metadata/package.json
index dcdb74263..2dc470ef9 100644
--- a/tools/metadata/package.json
+++ b/tools/metadata/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/metadata",
- "version": "4.0.3",
+ "version": "4.0.4",
"description": "AirSwap: Token Metadata for Developers",
"repository": {
"type": "git",
@@ -18,12 +18,12 @@
"scripts": {
"clean": "rm -rf ./build",
"compile": "yarn clean && tsc -b",
- "test": "yarn compile && yarn mocha -r ts-node/register test/metadata.ts"
+ "test": "TS_NODE_COMPILER_OPTIONS='{\"strict\":false}' yarn mocha -r ts-node/esm test/*.ts"
},
"dependencies": {
"@airswap/constants": "^4.0.0",
"@airswap/types": "^4.0.0",
- "@openzeppelin/contracts": "^4.8.1",
+ "@openzeppelin/contracts": "^4.8.3",
"@uniswap/token-lists": "^1.0.0-beta.24",
"axios": "^0.21.4",
"eth-contract-metadata": "^1.12.1",
diff --git a/tools/metadata/test/metadata.ts b/tools/metadata/test/metadata.ts
index dabf73c36..ef66cca53 100644
--- a/tools/metadata/test/metadata.ts
+++ b/tools/metadata/test/metadata.ts
@@ -1,46 +1,27 @@
import { expect } from 'chai'
-import {
- getKnownTokens,
- findTokenByAddress,
- findTokensBySymbol,
- firstTokenBySymbol,
-} from '../index'
-import {
- chainIds,
- wrappedTokenAddresses,
- ADDRESS_ZERO,
-} from '@airswap/constants'
+import { getKnownTokens, findTokenByAddress } from '../index'
+import { ChainIds, ADDRESS_ZERO } from '@airswap/constants'
describe('Metadata: Ethereum', async () => {
- let result
+ let result: any
+
it('fetches all known tokens', async () => {
- result = await getKnownTokens(chainIds.MAINNET)
+ result = await getKnownTokens(ChainIds.MAINNET)
expect(result.tokens.length).to.not.equal(0)
})
it('checks that ETH does not exist', async () => {
- expect(findTokenByAddress(ADDRESS_ZERO, result.tokens)).to.be.undefined
+ expect(findTokenByAddress(ADDRESS_ZERO, result.tokens)).to.be.equal(null)
})
})
describe('Metadata: Goerli', async () => {
- let result
+ let result: any
it('fetches all known tokens', async () => {
- result = await getKnownTokens(chainIds.MAINNET)
+ result = await getKnownTokens(ChainIds.MAINNET)
expect(result.tokens.length).to.not.equal(0)
})
it('checks that ETH does not exist', async () => {
- expect(findTokenByAddress(ADDRESS_ZERO, result.tokens)).to.be.undefined
- })
- it('checks that WETH exists', async () => {
- expect(
- findTokenByAddress(wrappedTokenAddresses[chainIds.MAINNET], result.tokens)
- ).to.not.be.undefined
- expect(findTokensBySymbol('WETH', result.tokens)[0].address).to.equal(
- wrappedTokenAddresses[chainIds.MAINNET]
- )
- expect(firstTokenBySymbol('WETH', result.tokens).address).to.equal(
- wrappedTokenAddresses[chainIds.MAINNET]
- )
+ expect(findTokenByAddress(ADDRESS_ZERO, result.tokens)).to.be.equal(null)
})
})
diff --git a/tools/types/index.ts b/tools/types/index.ts
index dd796974f..eeb07ef9a 100644
--- a/tools/types/index.ts
+++ b/tools/types/index.ts
@@ -1,2 +1,3 @@
export * from './src/eip712'
export * from './src/typescript'
+export * from './src/server'
diff --git a/tools/types/package.json b/tools/types/package.json
index 64078b324..b7c99b152 100644
--- a/tools/types/package.json
+++ b/tools/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/types",
- "version": "4.0.2",
+ "version": "4.0.3",
"description": "AirSwap: Types for Developers",
"repository": {
"type": "git",
diff --git a/tools/types/src/server.ts b/tools/types/src/server.ts
new file mode 100644
index 000000000..255f569d8
--- /dev/null
+++ b/tools/types/src/server.ts
@@ -0,0 +1,73 @@
+export type ServerOptions = {
+ chainId?: number
+ swapContract?: string
+ initializeTimeout?: number
+}
+
+export type SupportedProtocolInfo = {
+ name: string
+ version: string
+ params?: any
+}
+
+export enum SortField {
+ SIGNER_AMOUNT = 'SIGNER_AMOUNT',
+ SENDER_AMOUNT = 'SENDER_AMOUNT',
+ EXPIRY = 'EXPIRY',
+}
+
+export enum SortOrder {
+ ASC = 'ASC',
+ DESC = 'DESC',
+}
+
+export type RequestFilterERC20 = {
+ signerTokens?: string[]
+ senderTokens?: string[]
+ minSignerAmount?: bigint
+ maxSignerAmount?: bigint
+ minSenderAmount?: bigint
+ maxSenderAmount?: bigint
+ page: number
+ sortField?: SortField
+ sortOrder?: SortOrder
+ maxAddedDate?: number
+}
+
+export type RequestFilter = {
+ sortField?: SortField
+ sortOrder?: SortOrder
+ signerAddress?: string
+ senderAddress?: string
+ page: number
+}
+
+export type FiltersResponse = {
+ signerToken: Record
+ senderToken: Record
+}
+
+export type AmountLimitFilterResponse = {
+ min: string
+ max: string
+}
+
+export type IndexedOrder = {
+ hash?: string | undefined
+ order: Type
+ addedOn: number
+}
+
+export type OrderResponse = {
+ orders: Record>
+ pagination: Pagination
+ filters?: FiltersResponse | undefined
+ ordersForQuery: number
+}
+
+export type Pagination = {
+ first: string
+ last: string
+ prev?: string | undefined
+ next?: string | undefined
+}
diff --git a/tools/types/src/typescript.ts b/tools/types/src/typescript.ts
index 2fde6af8e..825320a5d 100644
--- a/tools/types/src/typescript.ts
+++ b/tools/types/src/typescript.ts
@@ -81,7 +81,7 @@ export type Token = {
decimals: number
}
-export { TokenInfo } from '@uniswap/token-lists'
+export type { TokenInfo } from '@uniswap/token-lists'
export interface CollectionTokenAttribute {
label: string
@@ -89,10 +89,10 @@ export interface CollectionTokenAttribute {
}
export type CollectionTokenMetadata = {
- name: string
- image: string
- description: string
- attributes: CollectionTokenAttribute[]
+ name?: string
+ image?: string
+ description?: string
+ attributes?: CollectionTokenAttribute[]
createdBy?: string
}
diff --git a/tools/utils/index.ts b/tools/utils/index.ts
index 5abf7923e..27f4f850c 100644
--- a/tools/utils/index.ts
+++ b/tools/utils/index.ts
@@ -1,21 +1,18 @@
import { ethers, BigNumber as BigNumberEthers } from 'ethers'
import * as url from 'url'
-import { etherscanDomains } from '@airswap/constants'
+import { explorerUrls } from '@airswap/constants'
export * from './src/pool'
export * from './src/pricing'
export * from './src/swap'
export * from './src/swapERC20'
-export function getEtherscanURL(chainId: number, hash: string): string {
- return `https://${etherscanDomains[chainId]}/tx/${hash}`
+export function getReceiptUrl(chainId: number, hash: string): string {
+ return `${explorerUrls[chainId]}/tx/${hash}`
}
-export function getEtherscanWalletURL(
- chainId: number,
- address: string
-): string {
- return `https://${etherscanDomains[chainId]}/address/${address}`
+export function getAccountUrl(chainId: number, address: string): string {
+ return `${explorerUrls[chainId]}/address/${address}`
}
export function checkResultToErrors(
@@ -38,6 +35,22 @@ export function numberToBytes32(number: number): string {
return `0x${hexString.padStart(64, '0')}`
}
+export function getInterfaceId(functions: string[]): string {
+ const _interface = new ethers.utils.Interface(functions)
+ const interfaceId = ethers.utils.arrayify(
+ _interface.getSighash(_interface.fragments[0])
+ )
+ for (let i = 1; i < _interface.fragments.length; i++) {
+ const hash = ethers.utils.arrayify(
+ _interface.getSighash(_interface.fragments[i])
+ )
+ for (let j = 0; j < hash.length; j++) {
+ interfaceId[j] = interfaceId[j] ^ hash[j]
+ }
+ }
+ return ethers.utils.hexlify(interfaceId)
+}
+
export function parseUrl(locator: string): url.UrlWithStringQuery {
if (!/(http|ws)s?:\/\//.test(locator)) {
locator = `https://${locator}`
diff --git a/tools/utils/package.json b/tools/utils/package.json
index 278a2de2d..b763e5564 100644
--- a/tools/utils/package.json
+++ b/tools/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@airswap/utils",
- "version": "4.0.3",
+ "version": "4.0.4",
"description": "AirSwap: Utilities for Developers",
"repository": {
"type": "git",
@@ -19,7 +19,7 @@
"clean": "rm -rf ./build",
"compile": "yarn clean && tsc -b",
"test": "yarn test:unit",
- "test:unit": "yarn compile && yarn mocha -r ts-node/register test/utils.ts"
+ "test:unit": "TS_NODE_COMPILER_OPTIONS='{\"strict\":false}' yarn mocha -r ts-node/esm test/*.ts"
},
"dependencies": {
"@airswap/constants": "^4.0.0",
@@ -28,15 +28,9 @@
"bignumber.js": "^9.0.1",
"ethereumjs-util": "^7.1.5",
"ethers": "^5.6.9",
- "lz-string": "^1.4.4"
+ "lz-string": "^1.5.0"
},
"publishConfig": {
"access": "public"
- },
- "devDependencies": {
- "@types/mocha": "^10.0.1",
- "@types/node": "^18.14.6",
- "ts-node": "^10.9.1",
- "typescript": "^4.8.4"
}
}
diff --git a/tools/utils/src/pricing.ts b/tools/utils/src/pricing.ts
index eefbe435b..7549c7565 100644
--- a/tools/utils/src/pricing.ts
+++ b/tools/utils/src/pricing.ts
@@ -1,7 +1,7 @@
import BigNumber from 'bignumber.js'
import { ethers } from 'ethers'
-import { OrderERC20, Levels, Formula, Pricing } from '@airswap/types'
+import { Levels, Formula, Pricing } from '@airswap/types'
export function getCostFromPricing(
side: 'buy' | 'sell',
@@ -60,64 +60,6 @@ export function calculateCostFromLevels(amount: string, levels: Levels) {
return totalCost.decimalPlaces(6).toFixed()
}
-function getLowest(objects: Array, key: string): any {
- let best: any
- let bestAmount
- let amount
- for (const obj of objects) {
- if (!obj[key]) continue
- if (obj[key].amount != undefined) {
- // if its a quote, it has .amount
- amount = ethers.BigNumber.from(obj[key].amount)
- } else {
- // if its an order, it has .data
- amount = ethers.BigNumber.from(obj[key].data.slice(0, 66))
- }
- if (!best || amount.lt(bestAmount)) {
- bestAmount = amount
- best = obj
- }
- }
- return best
-}
-
-function getHighest(objects: Array, key: string): any {
- let best: any
- let bestAmount
- let amount
- for (const obj of objects) {
- if (!obj[key]) continue
- if (obj[key].amount != undefined) {
- // if its a quote, it has .amount
- amount = ethers.BigNumber.from(obj[key].amount)
- } else {
- // if its an order, it has .data
- amount = ethers.BigNumber.from(obj[key].data.slice(0, 66))
- }
- if (!best || amount.gt(bestAmount)) {
- bestAmount = amount
- best = obj
- }
- }
- return best
-}
-
-export function getBestByLowestSenderAmount(objects: Array): any {
- return getLowest(objects, 'sender')
-}
-
-export function getBestByLowestSignerAmount(objects: Array): any {
- return getLowest(objects, 'signer')
-}
-
-export function getBestByHighestSignerAmount(objects: Array): any {
- return getHighest(objects, 'signer')
-}
-
-export function getBestByHighestSenderAmount(objects: Array): any {
- return getHighest(objects, 'sender')
-}
-
export function toDecimalString(
value: string | ethers.BigNumber,
decimals: string | number
diff --git a/tools/utils/src/swap.ts b/tools/utils/src/swap.ts
index f35be3f0a..d67b952fa 100644
--- a/tools/utils/src/swap.ts
+++ b/tools/utils/src/swap.ts
@@ -8,7 +8,7 @@ import {
import { lowerCaseAddresses } from '../index'
import {
- chainIds,
+ ChainIds,
SECONDS_IN_DAY,
ADDRESS_ZERO,
DOMAIN_VERSION_SWAP,
@@ -20,6 +20,8 @@ import {
OrderParty,
Signature,
EIP712Swap,
+ Order,
+ FullOrder,
} from '@airswap/types'
const defaultParty: OrderParty = {
@@ -30,6 +32,47 @@ const defaultParty: OrderParty = {
amount: '0',
}
+function isValidString(value: string): boolean {
+ return typeof value === 'string' && value.length > 0
+}
+function isBytesLike(value: string): boolean {
+ return typeof value === 'string' && ethers.utils.isBytesLike(value)
+}
+function isValidOrderParty(orderParty: OrderParty): boolean {
+ return (
+ !!orderParty &&
+ isValidString(orderParty['wallet']) &&
+ isValidString(orderParty['token']) &&
+ isValidString(orderParty['kind']) &&
+ isValidString(orderParty['id']) &&
+ isValidString(orderParty['amount'])
+ )
+}
+
+export function isValidOrder(order: Order): boolean {
+ return (
+ !!order &&
+ isValidString(order['nonce']) &&
+ isValidString(order['expiry']) &&
+ isValidString(order['protocolFee']) &&
+ isValidString(order['affiliateWallet']) &&
+ isValidString(order['affiliateAmount']) &&
+ isBytesLike(order['r']) &&
+ isBytesLike(order['s']) &&
+ isValidString(order['v']) &&
+ isValidOrderParty(order['signer']) &&
+ isValidOrderParty(order['sender'])
+ )
+}
+
+export function isValidFullOrder(fullOrder: FullOrder) {
+ return (
+ isValidOrder(fullOrder as Order) &&
+ ethers.utils.isAddress(fullOrder['swapContract']) &&
+ typeof fullOrder['chainId'] == 'number'
+ )
+}
+
export function createOrder({
nonce = Date.now(),
expiry = Math.round(Date.now() / 1000 + SECONDS_IN_DAY).toString(),
@@ -54,7 +97,7 @@ export async function createOrderSignature(
unsignedOrder: UnsignedOrder,
signer: ethers.VoidSigner | string,
swapContract: string,
- chainId = chainIds.MAINNET,
+ chainId = ChainIds.MAINNET,
version = DOMAIN_VERSION_SWAP,
name = DOMAIN_NAME_SWAP
): Promise {
diff --git a/tools/utils/src/swapERC20.ts b/tools/utils/src/swapERC20.ts
index d50e8f265..3ba86b012 100644
--- a/tools/utils/src/swapERC20.ts
+++ b/tools/utils/src/swapERC20.ts
@@ -8,7 +8,7 @@ import {
} from '@metamask/eth-sig-util'
import {
- chainIds,
+ ChainIds,
SECONDS_IN_DAY,
ADDRESS_ZERO,
DOMAIN_VERSION_SWAP_ERC20,
@@ -51,7 +51,7 @@ export async function createOrderERC20Signature(
unsignedOrder: UnsignedOrderERC20,
signer: ethers.VoidSigner | string,
swapContract: string,
- chainId = chainIds.MAINNET,
+ chainId = ChainIds.MAINNET,
version = DOMAIN_VERSION_SWAP_ERC20,
name = DOMAIN_NAME_SWAP_ERC20
): Promise {
diff --git a/tools/utils/test/utils.ts b/tools/utils/test/utils.ts
index e589ee1e4..5714576e4 100644
--- a/tools/utils/test/utils.ts
+++ b/tools/utils/test/utils.ts
@@ -1,7 +1,11 @@
import { assert, expect } from 'chai'
import { ethers } from 'ethers'
-import { ADDRESS_ZERO, SECONDS_IN_DAY } from '@airswap/constants'
-import { Levels, FullOrderERC20 } from '@airswap/types'
+import {
+ ADDRESS_ZERO,
+ SECONDS_IN_DAY,
+ protocolInterfaces,
+} from '@airswap/constants'
+import { Levels, FullOrderERC20, UnsignedOrderERC20 } from '@airswap/types'
import {
isValidFullOrderERC20,
@@ -14,15 +18,15 @@ import {
compressFullOrderERC20,
decompressFullOrderERC20,
calculateCostFromLevels,
-} from '@airswap/utils'
+ getInterfaceId,
+} from '../index'
const signerPrivateKey =
'0x4934d4ff925f39f91e3729fbce52ef12f25fdf93e014e291350f7d314c1a096b'
-const provider = ethers.getDefaultProvider('goerli')
-const wallet = new ethers.Wallet(signerPrivateKey, provider)
+const wallet = new ethers.Wallet(signerPrivateKey)
describe('Utils', async () => {
- let unsignedOrder
+ let unsignedOrder: UnsignedOrderERC20
before(async () => {
unsignedOrder = {
nonce: Date.now().toString(),
@@ -37,6 +41,14 @@ describe('Utils', async () => {
}
})
+ it('Generates correct interfaceIds', async () => {
+ for (const interfaceId in protocolInterfaces) {
+ expect(getInterfaceId(protocolInterfaces[interfaceId])).to.be.equal(
+ interfaceId
+ )
+ }
+ })
+
it('Signs and validates an order', async () => {
const { v, r, s } = await createOrderERC20Signature(
unsignedOrder,
@@ -57,7 +69,7 @@ describe('Utils', async () => {
})
it('isValidFullOrder : returns true only if fields are present', async () => {
- const unsignedOrder = {
+ const unsignedOrder: UnsignedOrderERC20 = {
nonce: Date.now().toString(),
expiry: Math.round(Date.now() / 1000 + SECONDS_IN_DAY).toString(),
signerWallet: ADDRESS_ZERO,
diff --git a/tsconfig.json b/tsconfig.json
index d8cf6b9e9..187a011a2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,14 +3,14 @@
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
- "lib": ["es2019", "dom"],
+ "lib": ["es2021"],
"esModuleInterop": true,
"skipLibCheck": false,
+ "strict": true,
"resolveJsonModule": true,
- "suppressImplicitAnyIndexErrors": true,
"sourceMap": true,
"declaration": true,
"outDir": "./build"
},
- "exclude": ["**/test/", "**/build/"]
+ "exclude": ["**/test/", "**/node_modules/", "**/build/", "**/src/"]
}
diff --git a/yarn.lock b/yarn.lock
index cee9609f7..1d6c9042d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,16 +10,16 @@
get-parameter-names "^0.3.0"
"@babel/code-frame@^7.0.0":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
- integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
+ version "7.21.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
+ integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
dependencies:
"@babel/highlight" "^7.18.6"
"@babel/helper-validator-identifier@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
- integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
+ version "7.19.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
+ integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
"@babel/highlight@^7.18.6":
version "7.18.6"
@@ -42,7 +42,14 @@
dependencies:
"@chainsafe/as-sha256" "^0.3.1"
-"@chainsafe/ssz@0.9.4":
+"@chainsafe/persistent-merkle-tree@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.5.0.tgz#2b4a62c9489a5739dedd197250d8d2f5427e9f63"
+ integrity sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==
+ dependencies:
+ "@chainsafe/as-sha256" "^0.3.1"
+
+"@chainsafe/ssz@0.9.4", "@chainsafe/ssz@^0.9.2":
version "0.9.4"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.4.tgz#696a8db46d6975b600f8309ad3a12f7c0e310497"
integrity sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==
@@ -51,6 +58,14 @@
"@chainsafe/persistent-merkle-tree" "^0.4.2"
case "^1.6.3"
+"@chainsafe/ssz@^0.10.0":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.10.2.tgz#c782929e1bb25fec66ba72e75934b31fd087579e"
+ integrity sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==
+ dependencies:
+ "@chainsafe/as-sha256" "^0.3.1"
+ "@chainsafe/persistent-merkle-tree" "^0.5.0"
+
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
@@ -74,29 +89,26 @@
resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89"
integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==
-"@eslint/eslintrc@^1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
- integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
+"@eslint-community/eslint-utils@^4.2.0":
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
+ integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.3.2"
- globals "^13.15.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
+ eslint-visitor-keys "^3.3.0"
-"@eslint/eslintrc@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff"
- integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==
+"@eslint-community/regexpp@^4.4.0":
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724"
+ integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==
+
+"@eslint/eslintrc@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02"
+ integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.4.0"
+ espree "^9.5.1"
globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
@@ -104,10 +116,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.35.0":
- version "8.35.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7"
- integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==
+"@eslint/js@8.38.0":
+ version "8.38.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892"
+ integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==
"@ethereum-waffle/chai@^3.4.4":
version "3.4.4"
@@ -191,22 +203,7 @@
"@ethersproject/properties" ">=5.0.0-beta.131"
"@ethersproject/strings" ">=5.0.0-beta.130"
-"@ethersproject/abi@5.6.4", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3":
- version "5.6.4"
- resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.4.tgz#f6e01b6ed391a505932698ecc0d9e7a99ee60362"
- integrity sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg==
- dependencies:
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.7.0":
+"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
@@ -221,20 +218,7 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
-"@ethersproject/abstract-provider@5.6.1", "@ethersproject/abstract-provider@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz#02ddce150785caf0c77fe036a0ebfcee61878c59"
- integrity sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/networks" "^5.6.3"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/web" "^5.6.1"
-
-"@ethersproject/abstract-provider@^5.7.0":
+"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
@@ -247,18 +231,7 @@
"@ethersproject/transactions" "^5.7.0"
"@ethersproject/web" "^5.7.0"
-"@ethersproject/abstract-signer@5.6.2", "@ethersproject/abstract-signer@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz#491f07fc2cbd5da258f46ec539664713950b0b33"
- integrity sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
-
-"@ethersproject/abstract-signer@^5.7.0":
+"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
@@ -269,18 +242,7 @@
"@ethersproject/logger" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
-"@ethersproject/address@5.6.1", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d"
- integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/rlp" "^5.6.1"
-
-"@ethersproject/address@^5.7.0":
+"@ethersproject/address@5.7.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
@@ -291,29 +253,14 @@
"@ethersproject/logger" "^5.7.0"
"@ethersproject/rlp" "^5.7.0"
-"@ethersproject/base64@5.6.1", "@ethersproject/base64@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.1.tgz#2c40d8a0310c9d1606c2c37ae3092634b41d87cb"
- integrity sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
-
-"@ethersproject/base64@^5.7.0":
+"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
dependencies:
"@ethersproject/bytes" "^5.7.0"
-"@ethersproject/basex@5.6.1", "@ethersproject/basex@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.1.tgz#badbb2f1d4a6f52ce41c9064f01eab19cc4c5305"
- integrity sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
-
-"@ethersproject/basex@^5.7.0":
+"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
@@ -321,16 +268,7 @@
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
-"@ethersproject/bignumber@5.6.2", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.2.tgz#72a0717d6163fab44c47bcc82e0c550ac0315d66"
- integrity sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- bn.js "^5.2.1"
-
-"@ethersproject/bignumber@^5.7.0":
+"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2"
integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
@@ -339,65 +277,37 @@
"@ethersproject/logger" "^5.7.0"
bn.js "^5.2.1"
-"@ethersproject/bytes@5.6.1", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7"
- integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==
- dependencies:
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/bytes@^5.7.0":
+"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
dependencies:
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/constants@5.6.1", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.1.tgz#e2e974cac160dd101cf79fdf879d7d18e8cb1370"
- integrity sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
-
-"@ethersproject/constants@^5.7.0":
+"@ethersproject/constants@5.7.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
dependencies:
"@ethersproject/bignumber" "^5.7.0"
-"@ethersproject/contracts@5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.2.tgz#20b52e69ebc1b74274ff8e3d4e508de971c287bc"
- integrity sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g==
- dependencies:
- "@ethersproject/abi" "^5.6.3"
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/transactions" "^5.6.2"
-
-"@ethersproject/hash@5.6.1", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.1.tgz#224572ea4de257f05b4abf8ae58b03a67e99b0f4"
- integrity sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/hash@^5.7.0":
+"@ethersproject/contracts@5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
+ integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
+ dependencies:
+ "@ethersproject/abi" "^5.7.0"
+ "@ethersproject/abstract-provider" "^5.7.0"
+ "@ethersproject/abstract-signer" "^5.7.0"
+ "@ethersproject/address" "^5.7.0"
+ "@ethersproject/bignumber" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/constants" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/properties" "^5.7.0"
+ "@ethersproject/transactions" "^5.7.0"
+
+"@ethersproject/hash@5.7.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
@@ -412,52 +322,44 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
-"@ethersproject/hdnode@5.6.2", "@ethersproject/hdnode@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.2.tgz#26f3c83a3e8f1b7985c15d1db50dc2903418b2d2"
- integrity sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/basex" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/pbkdf2" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/wordlists" "^5.6.1"
-
-"@ethersproject/json-wallets@5.6.1", "@ethersproject/json-wallets@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz#3f06ba555c9c0d7da46756a12ac53483fe18dd91"
- integrity sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ==
- dependencies:
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hdnode" "^5.6.2"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/pbkdf2" "^5.6.1"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- aes-js "3.0.0"
- scrypt-js "3.0.1"
+"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf"
+ integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==
+ dependencies:
+ "@ethersproject/abstract-signer" "^5.7.0"
+ "@ethersproject/basex" "^5.7.0"
+ "@ethersproject/bignumber" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/pbkdf2" "^5.7.0"
+ "@ethersproject/properties" "^5.7.0"
+ "@ethersproject/sha2" "^5.7.0"
+ "@ethersproject/signing-key" "^5.7.0"
+ "@ethersproject/strings" "^5.7.0"
+ "@ethersproject/transactions" "^5.7.0"
+ "@ethersproject/wordlists" "^5.7.0"
-"@ethersproject/keccak256@5.6.1", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.1.tgz#b867167c9b50ba1b1a92bccdd4f2d6bd168a91cc"
- integrity sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA==
+"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360"
+ integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==
dependencies:
- "@ethersproject/bytes" "^5.6.1"
- js-sha3 "0.8.0"
+ "@ethersproject/abstract-signer" "^5.7.0"
+ "@ethersproject/address" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/hdnode" "^5.7.0"
+ "@ethersproject/keccak256" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/pbkdf2" "^5.7.0"
+ "@ethersproject/properties" "^5.7.0"
+ "@ethersproject/random" "^5.7.0"
+ "@ethersproject/strings" "^5.7.0"
+ "@ethersproject/transactions" "^5.7.0"
+ aes-js "3.0.0"
+ scrypt-js "3.0.1"
-"@ethersproject/keccak256@^5.7.0":
+"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
@@ -465,79 +367,34 @@
"@ethersproject/bytes" "^5.7.0"
js-sha3 "0.8.0"
-"@ethersproject/logger@5.6.0", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.6.0":
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a"
- integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==
-
-"@ethersproject/logger@^5.7.0":
+"@ethersproject/logger@5.7.0", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
-"@ethersproject/networks@5.6.4", "@ethersproject/networks@^5.6.3":
- version "5.6.4"
- resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.4.tgz#51296d8fec59e9627554f5a8a9c7791248c8dc07"
- integrity sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ==
- dependencies:
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/networks@^5.7.0":
+"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
dependencies:
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/pbkdf2@5.6.1", "@ethersproject/pbkdf2@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz#f462fe320b22c0d6b1d72a9920a3963b09eb82d1"
- integrity sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/sha2" "^5.6.1"
-
-"@ethersproject/properties@5.6.0", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.6.0":
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04"
- integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==
+"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102"
+ integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==
dependencies:
- "@ethersproject/logger" "^5.6.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/sha2" "^5.7.0"
-"@ethersproject/properties@^5.7.0":
+"@ethersproject/properties@5.7.0", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
dependencies:
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/providers@5.6.8":
- version "5.6.8"
- resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.8.tgz#22e6c57be215ba5545d3a46cf759d265bb4e879d"
- integrity sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/base64" "^5.6.1"
- "@ethersproject/basex" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/networks" "^5.6.3"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/rlp" "^5.6.1"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/web" "^5.6.1"
- bech32 "1.1.4"
- ws "7.4.6"
-
-"@ethersproject/providers@^5.7.2":
+"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.1", "@ethersproject/providers@^5.7.2":
version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
@@ -563,15 +420,7 @@
bech32 "1.1.4"
ws "7.4.6"
-"@ethersproject/random@5.6.1", "@ethersproject/random@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.6.1.tgz#66915943981bcd3e11bbd43733f5c3ba5a790255"
- integrity sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/random@^5.7.0":
+"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
@@ -579,15 +428,7 @@
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/rlp@5.6.1", "@ethersproject/rlp@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.1.tgz#df8311e6f9f24dcb03d59a2bac457a28a4fe2bd8"
- integrity sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/rlp@^5.7.0":
+"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
@@ -595,16 +436,7 @@
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/sha2@5.6.1", "@ethersproject/sha2@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.1.tgz#211f14d3f5da5301c8972a8827770b6fd3e51656"
- integrity sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- hash.js "1.1.7"
-
-"@ethersproject/sha2@^5.7.0":
+"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
@@ -613,19 +445,7 @@
"@ethersproject/logger" "^5.7.0"
hash.js "1.1.7"
-"@ethersproject/signing-key@5.6.2", "@ethersproject/signing-key@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.2.tgz#8a51b111e4d62e5a62aee1da1e088d12de0614a3"
- integrity sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ==
- dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- bn.js "^5.2.1"
- elliptic "6.5.4"
- hash.js "1.1.7"
-
-"@ethersproject/signing-key@^5.7.0":
+"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
@@ -637,28 +457,19 @@
elliptic "6.5.4"
hash.js "1.1.7"
-"@ethersproject/solidity@5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.1.tgz#5845e71182c66d32e6ec5eefd041fca091a473e2"
- integrity sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/sha2" "^5.6.1"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/strings@5.6.1", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.1.tgz#dbc1b7f901db822b5cafd4ebf01ca93c373f8952"
- integrity sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw==
+"@ethersproject/solidity@5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8"
+ integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==
dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
+ "@ethersproject/bignumber" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/keccak256" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/sha2" "^5.7.0"
+ "@ethersproject/strings" "^5.7.0"
-"@ethersproject/strings@^5.7.0":
+"@ethersproject/strings@5.7.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
@@ -667,22 +478,7 @@
"@ethersproject/constants" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/transactions@5.6.2", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.2.tgz#793a774c01ced9fe7073985bb95a4b4e57a6370b"
- integrity sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q==
- dependencies:
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/rlp" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
-
-"@ethersproject/transactions@^5.7.0":
+"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
@@ -697,48 +493,37 @@
"@ethersproject/rlp" "^5.7.0"
"@ethersproject/signing-key" "^5.7.0"
-"@ethersproject/units@5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.1.tgz#ecc590d16d37c8f9ef4e89e2005bda7ddc6a4e6f"
- integrity sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw==
- dependencies:
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/constants" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
-
-"@ethersproject/wallet@5.6.2":
- version "5.6.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.6.2.tgz#cd61429d1e934681e413f4bc847a5f2f87e3a03c"
- integrity sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg==
- dependencies:
- "@ethersproject/abstract-provider" "^5.6.1"
- "@ethersproject/abstract-signer" "^5.6.2"
- "@ethersproject/address" "^5.6.1"
- "@ethersproject/bignumber" "^5.6.2"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/hdnode" "^5.6.2"
- "@ethersproject/json-wallets" "^5.6.1"
- "@ethersproject/keccak256" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/random" "^5.6.1"
- "@ethersproject/signing-key" "^5.6.2"
- "@ethersproject/transactions" "^5.6.2"
- "@ethersproject/wordlists" "^5.6.1"
-
-"@ethersproject/web@5.6.1", "@ethersproject/web@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.1.tgz#6e2bd3ebadd033e6fe57d072db2b69ad2c9bdf5d"
- integrity sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA==
- dependencies:
- "@ethersproject/base64" "^5.6.1"
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
-
-"@ethersproject/web@^5.7.0":
+"@ethersproject/units@5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
+ integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==
+ dependencies:
+ "@ethersproject/bignumber" "^5.7.0"
+ "@ethersproject/constants" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+
+"@ethersproject/wallet@5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d"
+ integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==
+ dependencies:
+ "@ethersproject/abstract-provider" "^5.7.0"
+ "@ethersproject/abstract-signer" "^5.7.0"
+ "@ethersproject/address" "^5.7.0"
+ "@ethersproject/bignumber" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/hash" "^5.7.0"
+ "@ethersproject/hdnode" "^5.7.0"
+ "@ethersproject/json-wallets" "^5.7.0"
+ "@ethersproject/keccak256" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/properties" "^5.7.0"
+ "@ethersproject/random" "^5.7.0"
+ "@ethersproject/signing-key" "^5.7.0"
+ "@ethersproject/transactions" "^5.7.0"
+ "@ethersproject/wordlists" "^5.7.0"
+
+"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
@@ -749,18 +534,18 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
-"@ethersproject/wordlists@5.6.1", "@ethersproject/wordlists@^5.6.1":
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.1.tgz#1e78e2740a8a21e9e99947e47979d72e130aeda1"
- integrity sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw==
+"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0":
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5"
+ integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==
dependencies:
- "@ethersproject/bytes" "^5.6.1"
- "@ethersproject/hash" "^5.6.1"
- "@ethersproject/logger" "^5.6.0"
- "@ethersproject/properties" "^5.6.0"
- "@ethersproject/strings" "^5.6.1"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/hash" "^5.7.0"
+ "@ethersproject/logger" "^5.7.0"
+ "@ethersproject/properties" "^5.7.0"
+ "@ethersproject/strings" "^5.7.0"
-"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3":
+"@gar/promisify@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
@@ -774,15 +559,6 @@
debug "^4.1.1"
minimatch "^3.0.5"
-"@humanwhocodes/config-array@^0.9.2":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
- integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
- dependencies:
- "@humanwhocodes/object-schema" "^1.2.1"
- debug "^4.1.1"
- minimatch "^3.0.4"
-
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
@@ -803,15 +579,22 @@
resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==
+"@jest/schemas@^29.4.3":
+ version "29.4.3"
+ resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
+ integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
+ dependencies:
+ "@sinclair/typebox" "^0.25.16"
+
"@jridgewell/resolve-uri@^3.0.3":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
+ integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
"@jridgewell/sourcemap-codec@^1.4.10":
- version "1.4.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+ version "1.4.15"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
@@ -821,738 +604,137 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@lerna/add@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/add/-/add-5.2.0.tgz#b9d3c728e059eea67f5757ee4b8e9550295f0be6"
- integrity sha512-BKTWhii4i1JUKqmOXkauD2rTGabo83gnqYYsORobmquKFG02tFD2upqkP73DmP6xgmovpBQ8NpPO/75r1MbtIQ==
- dependencies:
- "@lerna/bootstrap" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/npm-conf" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- dedent "^0.7.0"
- npm-package-arg "^8.1.0"
- p-map "^4.0.0"
- pacote "^13.6.1"
- semver "^7.3.4"
-
-"@lerna/bootstrap@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-5.2.0.tgz#2e2fd307274e0d0fcd5ab2f3830a6e743fbd8346"
- integrity sha512-4GMpgqT2F3E+LlD6iIAoJSFtvbXR7A8iX27mCv7fEFR8aPyxGxa6lC+sKIHLoH7s6X7/5aEI2sZCZ3p1v6QNUg==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/has-npm-version" "5.2.0"
- "@lerna/npm-install" "5.2.0"
- "@lerna/package-graph" "5.2.0"
- "@lerna/pulse-till-done" "5.2.0"
- "@lerna/rimraf-dir" "5.2.0"
- "@lerna/run-lifecycle" "5.2.0"
- "@lerna/run-topologically" "5.2.0"
- "@lerna/symlink-binary" "5.2.0"
- "@lerna/symlink-dependencies" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- "@npmcli/arborist" "5.2.0"
- dedent "^0.7.0"
- get-port "^5.1.1"
- multimatch "^5.0.0"
- npm-package-arg "^8.1.0"
- npmlog "^6.0.2"
- p-map "^4.0.0"
- p-map-series "^2.1.0"
- p-waterfall "^2.1.1"
- semver "^7.3.4"
-
-"@lerna/changed@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-5.2.0.tgz#6a9eec17f63311f0c166fc839f1491242ce7076c"
- integrity sha512-xbvMuUsmELZmmENsSX5KpG6OAeO1kZkPiXw5P8mdZVqzSz3/tO0v5SKV1TBYlWYM+/IumO/F+HTVL+GwnjMsww==
- dependencies:
- "@lerna/collect-updates" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/listable" "5.2.0"
- "@lerna/output" "5.2.0"
-
-"@lerna/check-working-tree@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-5.2.0.tgz#c664fb62e78a96e95f4d234f03cd1687b14b79b6"
- integrity sha512-MM+I+7+PyQGz5rzt4jnC7m2J3WhEjfetE895Ut/YwobOhng4kThzxmscJuCGY+2jZigwFMSugc0/JjTNZ0Hg5A==
- dependencies:
- "@lerna/collect-uncommitted" "5.2.0"
- "@lerna/describe-ref" "5.2.0"
- "@lerna/validation-error" "5.2.0"
-
-"@lerna/child-process@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-5.2.0.tgz#5c43fe5eb8a81667a5dfaeb6e1a310a0825bbd06"
- integrity sha512-UY1W3+MdYZmCzvyi0C2SvDKwbXrm6HlZKzyWoxDhqR/GqPa0CBeOBa+lSslM1+yltI+4IHQpqLQAdZIYGjeCUw==
+"@lerna/child-process@6.6.1":
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-6.6.1.tgz#e31bc411ad6d474cf7b676904da6f77f58fd64eb"
+ integrity sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==
dependencies:
chalk "^4.1.0"
execa "^5.0.0"
strong-log-transformer "^2.1.0"
-"@lerna/clean@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-5.2.0.tgz#e1534b8e84402441f1abcfb4a0b33400b39ece92"
- integrity sha512-9/gJBBPvISICRfv2Y5KjGcUgZykpXZqAk6txHrl7eTZ0XHAnu9SxxLq3xCEq5IPNkevu++bOSYJ7BFTYzPxAgw==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/prompt" "5.2.0"
- "@lerna/pulse-till-done" "5.2.0"
- "@lerna/rimraf-dir" "5.2.0"
- p-map "^4.0.0"
- p-map-series "^2.1.0"
- p-waterfall "^2.1.1"
-
-"@lerna/cli@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-5.2.0.tgz#821ce8e657cfc5966c006503e5e75c8f7e37434f"
- integrity sha512-bn6L317xjTeJ+60bj+wNvmwnDEOKH0T45yO14u1TNNs7cVUv9ZtHYohuKSbanUogthEDu2m680RwgdvikyyCLQ==
- dependencies:
- "@lerna/global-options" "5.2.0"
- dedent "^0.7.0"
- npmlog "^6.0.2"
- yargs "^16.2.0"
-
-"@lerna/collect-uncommitted@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-5.2.0.tgz#d6aa4eb41eed13a941e3fa4771828048559d25ad"
- integrity sha512-LlTY08RhTnrynvuqK1wNbq+H8FFWAMNiTOUJcxMo+bMlLrjPy3xCLhcDcKApVZvZnkE+kWLyQRROs0ZEY78MaQ==
- dependencies:
- "@lerna/child-process" "5.2.0"
- chalk "^4.1.0"
- npmlog "^6.0.2"
-
-"@lerna/collect-updates@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-5.2.0.tgz#1bbbb1a23e70d8c856ced4faba6356385778013b"
- integrity sha512-thENc95GHPEt3N18u0WOtkVDRjTWM2rLld8SiFDtecqlV7F2pN0pILY5mNDTS2kYZDwxACQ+XLCinBmb8VET5Q==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/describe-ref" "5.2.0"
- minimatch "^3.0.4"
- npmlog "^6.0.2"
- slash "^3.0.0"
-
-"@lerna/command@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/command/-/command-5.2.0.tgz#4034b2f2bde407ef85b4a807b56f2d61cc0cbb32"
- integrity sha512-QJLpOp6z/6NlSuqhl9IiSBq4SVcgcC4nJh5dZme+6hRCkcaAG0WEhe809xcx6pehYJdbbMHtmSWp7dk/GujWxw==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/package-graph" "5.2.0"
- "@lerna/project" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- "@lerna/write-log-file" "5.2.0"
- clone-deep "^4.0.1"
- dedent "^0.7.0"
- execa "^5.0.0"
- is-ci "^2.0.0"
- npmlog "^6.0.2"
-
-"@lerna/conventional-commits@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-5.2.0.tgz#af14e0a9cf1ac24cda5ba967e7609a2eabb239f8"
- integrity sha512-sI3QVV0kHqbFhHJy8dTNhrJdIWSGv1t7dfYyHiyGdlttSFWd6b+jGYZtAfIie2iC26+Z1ZksGW/0mdyAD55Zig==
- dependencies:
- "@lerna/validation-error" "5.2.0"
- conventional-changelog-angular "^5.0.12"
- conventional-changelog-core "^4.2.4"
- conventional-recommended-bump "^6.1.0"
- fs-extra "^9.1.0"
- get-stream "^6.0.0"
- npm-package-arg "^8.1.0"
- npmlog "^6.0.2"
- pify "^5.0.0"
- semver "^7.3.4"
-
-"@lerna/create-symlink@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-5.2.0.tgz#8c451a1c510d948b10a09b8af087c6736848cda6"
- integrity sha512-0+WwJWZUAp6nIbOL0fxTCVyt37VmpkqCJs8aK3//DgjS8u5hSlPQjj3oWjVFMFtfSdoA7HieohBS86FZ4Tkg0w==
- dependencies:
- cmd-shim "^4.1.0"
- fs-extra "^9.1.0"
- npmlog "^6.0.2"
-
-"@lerna/create@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/create/-/create-5.2.0.tgz#955e8cfcfadb31f3c6bc19e7229c01d4ad50f36e"
- integrity sha512-6KuamMSIgLWm0TuLre8hTUSvr8LGw8ex/XoXNhSUJUGbUAIpkS+F8YKLSTLKBw/odFXRW7rgxv/ik6T0qqjLqw==
+"@lerna/create@6.6.1":
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/@lerna/create/-/create-6.6.1.tgz#fc20f09e10b612d424a576775ad6eefe6aa96517"
+ integrity sha512-GDmHFhQ0mr0RcXWXrsLyfMV6ch/dZV/Ped1e6sFVQhsLL9P+FFXX1ZWxa/dQQ90VWF2qWcmK0+S/L3kUz2xvTA==
dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/npm-conf" "5.2.0"
- "@lerna/validation-error" "5.2.0"
+ "@lerna/child-process" "6.6.1"
dedent "^0.7.0"
fs-extra "^9.1.0"
- globby "^11.0.2"
- init-package-json "^2.0.2"
- npm-package-arg "^8.1.0"
+ init-package-json "^3.0.2"
+ npm-package-arg "8.1.1"
p-reduce "^2.1.0"
pacote "^13.6.1"
pify "^5.0.0"
semver "^7.3.4"
slash "^3.0.0"
validate-npm-package-license "^3.0.4"
- validate-npm-package-name "^3.0.0"
- whatwg-url "^8.4.0"
+ validate-npm-package-name "^4.0.0"
yargs-parser "20.2.4"
-"@lerna/describe-ref@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-5.2.0.tgz#a6c6c033bff77269dc3d5eb8cb350c310d1cdb04"
- integrity sha512-ZSdVWzPpgz8tcJ2rLpKAi1q2WLv4lP+Qdjr0QpblcM0y4+QM9GU5bVayDXRNl+fVeaFpftr4Vou8/hVzzb2fTQ==
+"@lerna/legacy-package-management@6.6.1":
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/@lerna/legacy-package-management/-/legacy-package-management-6.6.1.tgz#1f44af40098b9396a4f698514ff2b87016b1ee3d"
+ integrity sha512-0EYxSFr34VgeudA5rvjGJSY7s4seITMVB7AJ9LRFv9QDUk6jpvapV13ZAaKnhDTxX5vNCfnJuWHXXWq0KyPF/Q==
dependencies:
- "@lerna/child-process" "5.2.0"
- npmlog "^6.0.2"
+ "@npmcli/arborist" "6.2.3"
+ "@npmcli/run-script" "4.1.7"
+ "@nrwl/devkit" ">=15.5.2 < 16"
+ "@octokit/rest" "19.0.3"
+ byte-size "7.0.0"
+ chalk "4.1.0"
+ clone-deep "4.0.1"
+ cmd-shim "5.0.0"
+ columnify "1.6.0"
+ config-chain "1.1.12"
+ conventional-changelog-core "4.2.4"
+ conventional-recommended-bump "6.1.0"
+ cosmiconfig "7.0.0"
+ dedent "0.7.0"
+ dot-prop "6.0.1"
+ execa "5.0.0"
+ file-url "3.0.0"
+ find-up "5.0.0"
+ fs-extra "9.1.0"
+ get-port "5.1.1"
+ get-stream "6.0.0"
+ git-url-parse "13.1.0"
+ glob-parent "5.1.2"
+ globby "11.1.0"
+ graceful-fs "4.2.10"
+ has-unicode "2.0.1"
+ inquirer "8.2.4"
+ is-ci "2.0.0"
+ is-stream "2.0.0"
+ libnpmpublish "6.0.4"
+ load-json-file "6.2.0"
+ make-dir "3.1.0"
+ minimatch "3.0.5"
+ multimatch "5.0.0"
+ node-fetch "2.6.7"
+ npm-package-arg "8.1.1"
+ npm-packlist "5.1.1"
+ npm-registry-fetch "14.0.3"
+ npmlog "6.0.2"
+ p-map "4.0.0"
+ p-map-series "2.1.0"
+ p-queue "6.6.2"
+ p-waterfall "2.1.1"
+ pacote "13.6.2"
+ pify "5.0.0"
+ pretty-format "29.4.3"
+ read-cmd-shim "3.0.0"
+ read-package-json "5.0.1"
+ resolve-from "5.0.0"
+ semver "7.3.8"
+ signal-exit "3.0.7"
+ slash "3.0.0"
+ ssri "9.0.1"
+ strong-log-transformer "2.1.0"
+ tar "6.1.11"
+ temp-dir "1.0.0"
+ tempy "1.0.0"
+ upath "2.0.1"
+ uuid "8.3.2"
+ write-file-atomic "4.0.1"
+ write-pkg "4.0.0"
+ yargs "16.2.0"
-"@lerna/diff@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-5.2.0.tgz#3ce5ac66ead67b88463a693ffc09f7ad649e8a71"
- integrity sha512-RIp/PeigKoC0xoCYGk6G9hSFiw8bMGcTL9+ii1628DALh8j/ddt3Fi7kCPO9b03ALkPUVQlLIDe/Wzry4ME1BA==
+"@metamask/eth-sig-util@^4.0.0":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088"
+ integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==
dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- npmlog "^6.0.2"
-
-"@lerna/exec@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-5.2.0.tgz#f554551c8b1046be9ded9ce967eac80aabe6acff"
- integrity sha512-MyTe+YRIbibkjZ6VYGI0c5In1+lDrPE5fgR1G4cOI8RN7nx6fBi6I3w7rSISRuMf3npVDKLU1/LRW7qjxISdJw==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/profiler" "5.2.0"
- "@lerna/run-topologically" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- p-map "^4.0.0"
+ ethereumjs-abi "^0.6.8"
+ ethereumjs-util "^6.2.1"
+ ethjs-util "^0.1.6"
+ tweetnacl "^1.0.3"
+ tweetnacl-util "^0.15.1"
-"@lerna/filter-options@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-5.2.0.tgz#9cc44c7ad180128e3326c4c690645264888e9abf"
- integrity sha512-gbX/ksk/kKmhEPPXWTvRAYLBFmDcpWQOfJiE+JybRgTaIAKrAVo8mHzw1j2ZsWJcxvbOOPvSGAy+54MILBr3Xw==
+"@metamask/eth-sig-util@^5.0.2":
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-5.0.2.tgz#c518279a6e17a88135a13d53a0b970f145ff8bce"
+ integrity sha512-RU6fG/H6/UlBol221uBkq5C7w3TwLK611nEZliO2u+kO0vHKGBXnIPlhI0tzKUigjhUeOd9mhCNbNvhh0LKt9Q==
dependencies:
- "@lerna/collect-updates" "5.2.0"
- "@lerna/filter-packages" "5.2.0"
- dedent "^0.7.0"
- npmlog "^6.0.2"
+ "@ethereumjs/util" "^8.0.0"
+ bn.js "^4.11.8"
+ ethereum-cryptography "^1.1.2"
+ ethjs-util "^0.1.6"
+ tweetnacl "^1.0.3"
+ tweetnacl-util "^0.15.1"
-"@lerna/filter-packages@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-5.2.0.tgz#93135ba5b38c949627e2d25dbbe90a26fdbd9690"
- integrity sha512-G1RolCWUIc45vfu/o6v3SBYb3FflfYyUfUtHMteE3frJsgDIIOuERmlDp0hl6k7DBxdBvi6AK5bvEMt+FE3h0A==
+"@morgan-stanley/ts-mocking-bird@^0.6.2":
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz#2e4b60d42957bab3b50b67dbf14c3da2f62a39f7"
+ integrity sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==
dependencies:
- "@lerna/validation-error" "5.2.0"
- multimatch "^5.0.0"
- npmlog "^6.0.2"
+ lodash "^4.17.16"
+ uuid "^7.0.3"
-"@lerna/get-npm-exec-opts@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.2.0.tgz#ad80e9f2b7eae672d74fc3639cdd4a5baeca9d09"
- integrity sha512-ZGWBcrynGNbPOhJkwJfGQS+UqmwT/9K6cD6rnK3ddDlj2UBcjcTgPTCLRseFO3j/4m36N4CQh9jy9tsXO8VeDg==
- dependencies:
- npmlog "^6.0.2"
-
-"@lerna/get-packed@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-5.2.0.tgz#f96c5ca61a6e08981517dfe51b5a059260cb384f"
- integrity sha512-wuFex+v6Nk8BqsZCml56+8Uextpu4fhk3bjz/3DBrNHaGHrg/VKGhZ6kqCCTWpUyclm3RzZfg63/5bXW/SDmiw==
- dependencies:
- fs-extra "^9.1.0"
- ssri "^8.0.1"
- tar "^6.1.0"
-
-"@lerna/github-client@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-5.2.0.tgz#5f7aab6c5e430c5f6a38f91e426ca324404b65ac"
- integrity sha512-tFl0DWv53MhJ4x2978MtdGzcwL94mAVOQueAU0/MU0O+nWgC0l+va7WSE4d04OuIj2veadZoqYiT0LYdVx3cLQ==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@octokit/plugin-enterprise-rest" "^6.0.1"
- "@octokit/rest" "^19.0.3"
- git-url-parse "^12.0.0"
- npmlog "^6.0.2"
-
-"@lerna/gitlab-client@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-5.2.0.tgz#49b5573e0ab8e5e58a6505c29c3489a0f7388a80"
- integrity sha512-Mz+tOHwzuZCVV4ThV2ZsYFd2Pz9JM1gsND/e1FYG2RuOVSPksuOaBXj+sD6AJZ98jYeOGxJ9lUTHesTDomqaww==
- dependencies:
- node-fetch "^2.6.1"
- npmlog "^6.0.2"
- whatwg-url "^8.4.0"
-
-"@lerna/global-options@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-5.2.0.tgz#a68e2309559a500bbbd089ef275b987116a4ee1f"
- integrity sha512-AXbuQN50K4PZKTtgTLTH1Wia7kkIVg3k6JPCdPehgQbULFUs5vwGIDRlgaW2iOXRtRLnvFj73BCFTAnI8rNDtw==
-
-"@lerna/has-npm-version@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-5.2.0.tgz#80feb9b334e9dc2ec953ec9571fd9bc04617946a"
- integrity sha512-RRnJUVJpR4VAuDhH+yLJP3O85p2Uhxp/kurNzbIkGP56Vi/tvoSlbCbNWL7hLznnCjkdvNS1cf+LuZyGD4FNZw==
- dependencies:
- "@lerna/child-process" "5.2.0"
- semver "^7.3.4"
-
-"@lerna/import@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/import/-/import-5.2.0.tgz#9b5bc76b9e4f9a49f77073f0267fd56804637caf"
- integrity sha512-33BrWs6HNulx+wVR6FFF/DNLCHvL5u/8Tr8GPISUOMIXFdvLiMCyMIeM5g2BU/e044W6TzrCKcRxsTjXqhimVA==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/prompt" "5.2.0"
- "@lerna/pulse-till-done" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- dedent "^0.7.0"
- fs-extra "^9.1.0"
- p-map-series "^2.1.0"
-
-"@lerna/info@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/info/-/info-5.2.0.tgz#d95e0daedaee209cac2463d2a6a6df76112c437d"
- integrity sha512-GraI2Z+bmNEt3vatvYdE/oajk1/yNM1ULR1loaF0IemZ6S5GYHAJXgT2qNl/Jt0qh+oRM2a5ITtLTjCrtzAkVg==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/output" "5.2.0"
- envinfo "^7.7.4"
-
-"@lerna/init@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/init/-/init-5.2.0.tgz#208e49eda705f50ecefa5caf0faebe7c587ee837"
- integrity sha512-a8VupVxsjxknDIUHM5nT6i9CJkr2MjKuR/QnQcI6eVtKP26mppd/GwZQ2XtnkULRtHWfajbksVODuOwwssroqQ==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/project" "5.2.0"
- fs-extra "^9.1.0"
- p-map "^4.0.0"
- write-json-file "^4.3.0"
-
-"@lerna/link@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/link/-/link-5.2.0.tgz#01599f185a0ea570509e24cbbba12ddda21bc72e"
- integrity sha512-DnfiIyl6f2hrv0qyRH8ZzcDCrcxsWBoaAxlOTgCUggiIq1eLMBBqQu6cQt3k0zSb40jFwIsggdYsffvV/GkLXQ==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/package-graph" "5.2.0"
- "@lerna/symlink-dependencies" "5.2.0"
- p-map "^4.0.0"
- slash "^3.0.0"
-
-"@lerna/list@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/list/-/list-5.2.0.tgz#f41e5f512653258232a9c7ef581457fd4e2b0716"
- integrity sha512-HlRLjYFYs7Sy78jp+J2z/yGhRhHHf4AjwHN6ZkAvroHSdZLHfOVUcdGAxSwuFmJ9ULb32ydtyCWwtMS4z6JICg==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/listable" "5.2.0"
- "@lerna/output" "5.2.0"
-
-"@lerna/listable@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-5.2.0.tgz#c02e032fc102561ee939deafdecc045a2925c005"
- integrity sha512-CEUR4i3Ws9H7iS1IlLrW5MIPWxp2Tx4gnzn43CN9diWVkCo1wdC/mwGirqaHMK6jpSIhfUHkJqCUqSOszg7+fg==
- dependencies:
- "@lerna/query-graph" "5.2.0"
- chalk "^4.1.0"
- columnify "^1.6.0"
-
-"@lerna/log-packed@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-5.2.0.tgz#065fcba4903e5dd56f413e22e9492b864a874458"
- integrity sha512-6BOgHPWBNyZvNv4DjKZc5yqBgvkYwjIZqYXvGRgFLWqGtNK71HyDW6ybw/msKzWu6nRygx/2oz/q79NJT1xb8A==
- dependencies:
- byte-size "^7.0.0"
- columnify "^1.6.0"
- has-unicode "^2.0.1"
- npmlog "^6.0.2"
-
-"@lerna/npm-conf@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-5.2.0.tgz#8fb3a3f1042cbfb8041359a99e3e220a31c208dc"
- integrity sha512-fJ73bVQgt4gFzvpxBeZhigfR+f02vlI+wJA9otLXkkigz/R4OGBurKNBvwtvt5P99cNH5xaxQlneKmYlXd858Q==
- dependencies:
- config-chain "^1.1.12"
- pify "^5.0.0"
-
-"@lerna/npm-dist-tag@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-5.2.0.tgz#072d0e7d0bc85b6cb13f4c5c80bae298f21aae9a"
- integrity sha512-blBVl8rbFQFtI41Y1UKcz9qFRfAJUHt680Jp8XECWEKvZijY+Sm16yNk9L3k0IwH8pQkDN0ZIxHaIHSJ+qYPvQ==
- dependencies:
- "@lerna/otplease" "5.2.0"
- npm-package-arg "^8.1.0"
- npm-registry-fetch "^9.0.0"
- npmlog "^6.0.2"
-
-"@lerna/npm-install@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-5.2.0.tgz#b5803a6807a18be23e6b0638fc389e98ca9e8963"
- integrity sha512-1pNgN0Px2acEPoF3Hme7d6U0JuhMKHN3L9UjdRu28H1anR3Li+ZJQtAtV4pL7DY26csGOOhd6+rjCxzlb1ihqQ==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/get-npm-exec-opts" "5.2.0"
- fs-extra "^9.1.0"
- npm-package-arg "^8.1.0"
- npmlog "^6.0.2"
- signal-exit "^3.0.3"
- write-pkg "^4.0.0"
-
-"@lerna/npm-publish@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-5.2.0.tgz#febb446a0bf680d802f464dcdb6abc037aa7eec8"
- integrity sha512-vNPwa4aU8IBm+c6sXGmV2ampkYFXKPxCXpURZWKiXYZ0pigEg0CX3YnOJMQ1ax8U97CISVoIdLY+RKi3nSJm3w==
- dependencies:
- "@lerna/otplease" "5.2.0"
- "@lerna/run-lifecycle" "5.2.0"
- fs-extra "^9.1.0"
- libnpmpublish "^4.0.0"
- npm-package-arg "^8.1.0"
- npmlog "^6.0.2"
- pify "^5.0.0"
- read-package-json "^3.0.0"
-
-"@lerna/npm-run-script@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-5.2.0.tgz#27bb196660135cf81c32ca84fbfaf9197b05a27d"
- integrity sha512-Fxl9BByoKxm7QyIaIxhjGzGQXsTwUwk+1gFtO6OlQBH5/Y971nHG604Pmv25nZKBD3lE+3Qk2IK/XtE39ruHRg==
- dependencies:
- "@lerna/child-process" "5.2.0"
- "@lerna/get-npm-exec-opts" "5.2.0"
- npmlog "^6.0.2"
-
-"@lerna/otplease@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-5.2.0.tgz#34def8f7c7a6fab79f2032247cd2c028f326ba84"
- integrity sha512-vsFB1N+s9KGwF4wreRFYJlhDrQnSYyxgCt8atC0iUs+32Bx9zdtmOIgBnGwuqPVSOhEj+wxbuVRtopAWRWCBFw==
- dependencies:
- "@lerna/prompt" "5.2.0"
-
-"@lerna/output@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/output/-/output-5.2.0.tgz#b9ed21ea2bc09b38a530660469479b3f0c10878c"
- integrity sha512-afls4I7ei09lab5WEb34/AKumpBxt8MgQnr8b9pKC6fy5GMXCSOZ9Qb/xRKhepJ4qvQRsfKWptX4UT2VB8PGeg==
- dependencies:
- npmlog "^6.0.2"
-
-"@lerna/pack-directory@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-5.2.0.tgz#af1b4f94c3683d5b7e78aab179a0293c76032556"
- integrity sha512-wirOo/6hs3yWMPTw/ZU7ApQKiCyXGrxDu8PWGnVggKcD8PnwrtQoJMSEIeFbHJEw7ny7RE46oy6Q8DPCEYJNxg==
- dependencies:
- "@lerna/get-packed" "5.2.0"
- "@lerna/package" "5.2.0"
- "@lerna/run-lifecycle" "5.2.0"
- "@lerna/temp-write" "5.2.0"
- npm-packlist "^5.1.1"
- npmlog "^6.0.2"
- tar "^6.1.0"
-
-"@lerna/package-graph@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-5.2.0.tgz#09426a09f0de4a63c8f37006e8de032c957ab022"
- integrity sha512-KAjbO83EmBzxEKVX6eyelp/xA9eztIF6BqJuPv7m9iexHh/qCIuKhnQSmgh3xDlCZ7e5FUXC3Rzvq17TLJWPfw==
- dependencies:
- "@lerna/prerelease-id-from-version" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- npm-package-arg "^8.1.0"
- npmlog "^6.0.2"
- semver "^7.3.4"
-
-"@lerna/package@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/package/-/package-5.2.0.tgz#733ca4e03ca2c597364869243730a01bde88a7d1"
- integrity sha512-zHDHnDNVeEmYIReSjecCpwQmF9yrK8oZLRUnVe2jI91y2D9iipHBQj5LVvJKwflpQy60vZFiavvlqi/gqPzpVA==
- dependencies:
- load-json-file "^6.2.0"
- npm-package-arg "^8.1.0"
- write-pkg "^4.0.0"
-
-"@lerna/prerelease-id-from-version@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.2.0.tgz#a5cd2c4bb53e6e80f6ffe8ecff734bfdfeaacb36"
- integrity sha512-PpvTllFUcAPbZUGYjXGalGwaRfFZZCzNKMKF+lck2qmkvLYSRQhPz+iN7NpvZgnXEWds0dV78MkbLcTf4rEThw==
- dependencies:
- semver "^7.3.4"
-
-"@lerna/profiler@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-5.2.0.tgz#4c1971a066a34595a4caaf4977e2e376f2b41baa"
- integrity sha512-vKhbmeZCCSU6QRPJdJlcyUuAGD1b/Vz7SYDM/D2o0M5nyOnc5V9fom1pTR9KuJUg0dWt/g+8COOiHNYg3rCDsA==
- dependencies:
- fs-extra "^9.1.0"
- npmlog "^6.0.2"
- upath "^2.0.1"
-
-"@lerna/project@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/project/-/project-5.2.0.tgz#b50a4673d1bacaee07eaf210a7b410abcd13ac50"
- integrity sha512-qE4I0tXl8IoqqR1bgDyr5YTYy2qcO2o8QrQ8PfJnm3Mp2ffRWG5E5MMiA2QXG09yk9YUq0q9cwGCr55wJcZRrw==
- dependencies:
- "@lerna/package" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- cosmiconfig "^7.0.0"
- dedent "^0.7.0"
- dot-prop "^6.0.1"
- glob-parent "^5.1.1"
- globby "^11.0.2"
- load-json-file "^6.2.0"
- npmlog "^6.0.2"
- p-map "^4.0.0"
- resolve-from "^5.0.0"
- write-json-file "^4.3.0"
-
-"@lerna/prompt@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-5.2.0.tgz#f516da9bb011715d392df590236b9c0e99e3538e"
- integrity sha512-XPB7F3JpUnNsCrgvo90gSfYrnUBK2F4GFQ189K9WtwvuFQ774WfsqLbBlOVh9HRDCNGHx1xq6wXYkQN6s/Kblw==
- dependencies:
- inquirer "^8.2.4"
- npmlog "^6.0.2"
-
-"@lerna/publish@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-5.2.0.tgz#79374cb6a5a57b35af619dec4aded93f1f867819"
- integrity sha512-pfxRn/6zAk/QHDxCgKXWkUOk+SxSQipqyEuJLzFwW/KBJHl3MdvS8yuODx0WqZuydwvBIz29YUarK7xYW9JamQ==
- dependencies:
- "@lerna/check-working-tree" "5.2.0"
- "@lerna/child-process" "5.2.0"
- "@lerna/collect-updates" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/describe-ref" "5.2.0"
- "@lerna/log-packed" "5.2.0"
- "@lerna/npm-conf" "5.2.0"
- "@lerna/npm-dist-tag" "5.2.0"
- "@lerna/npm-publish" "5.2.0"
- "@lerna/otplease" "5.2.0"
- "@lerna/output" "5.2.0"
- "@lerna/pack-directory" "5.2.0"
- "@lerna/prerelease-id-from-version" "5.2.0"
- "@lerna/prompt" "5.2.0"
- "@lerna/pulse-till-done" "5.2.0"
- "@lerna/run-lifecycle" "5.2.0"
- "@lerna/run-topologically" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- "@lerna/version" "5.2.0"
- fs-extra "^9.1.0"
- libnpmaccess "^4.0.1"
- npm-package-arg "^8.1.0"
- npm-registry-fetch "^9.0.0"
- npmlog "^6.0.2"
- p-map "^4.0.0"
- p-pipe "^3.1.0"
- pacote "^13.6.1"
- semver "^7.3.4"
-
-"@lerna/pulse-till-done@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-5.2.0.tgz#6d6243a0a6a5a427d241d6490d8751855a76fb44"
- integrity sha512-WfM5GGw19ymnzsC5SqLKvW/mXdpIuF3KZttqGfMRV4xjAuxaNA0o9yFBjAWeQ47S8AFGT+PPmDlBvpe/Q4geyw==
- dependencies:
- npmlog "^6.0.2"
-
-"@lerna/query-graph@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-5.2.0.tgz#bed8ca8d6a689e6531ff7222d1d9c0286f9d9732"
- integrity sha512-tfW1RubB/vjRp3Q6Kchh4pdSsmjiz4cMTtyHqVwcm4bWAV5+kSRsa0rZp6jzMZlwFlMtchBjOeC2UPzo+G6vLA==
- dependencies:
- "@lerna/package-graph" "5.2.0"
-
-"@lerna/resolve-symlink@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-5.2.0.tgz#7c2cc96b361131f593ef936e1874cc1703144e84"
- integrity sha512-sW7yQXvgi2HstJP00Ptyclh1cfDyyd1tbRGO+M8t53GEh+SG+y/k/1m6TdclQDpR51JCq65WZOBspUe0qtBAgA==
- dependencies:
- fs-extra "^9.1.0"
- npmlog "^6.0.2"
- read-cmd-shim "^2.0.0"
-
-"@lerna/rimraf-dir@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-5.2.0.tgz#18274710870b1f7fa07461a09f4daecd946ce1a3"
- integrity sha512-fC8HnVAabmKT30x/kRQ7Zb5lHyVAX8KLcs/CYLE/BXnlfQ6T6WhMZAUTJXQ9LJiww4bY7qYoLX5agBmJXe2TgA==
- dependencies:
- "@lerna/child-process" "5.2.0"
- npmlog "^6.0.2"
- path-exists "^4.0.0"
- rimraf "^3.0.2"
-
-"@lerna/run-lifecycle@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-5.2.0.tgz#8f1606555290be3f429a2a6acb545327c186666b"
- integrity sha512-8wC/oNQo4/x8vujkodY7llz+7ZhBpYVR5tGqi42r5nA29GnzbLpmEd1GMpzlAvdsu5JdT2SSP2FN3t2vvjeUuQ==
- dependencies:
- "@lerna/npm-conf" "5.2.0"
- "@npmcli/run-script" "^3.0.2"
- npmlog "^6.0.2"
-
-"@lerna/run-topologically@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-5.2.0.tgz#8d0cc2382d50a8f6e4538655aab3d9dd8980509e"
- integrity sha512-7WpsuWVzZgHm08H0grWFXVYSQtFA8ZYel/9uRnjppNJv7jfEnfMYpny1Mry6aTwR5Sz2sxoMddkQx4nHBrbE2Q==
- dependencies:
- "@lerna/query-graph" "5.2.0"
- p-queue "^6.6.2"
-
-"@lerna/run@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/run/-/run-5.2.0.tgz#ab0d8fd5a365e5f0338622f48aeb11143687ce3c"
- integrity sha512-KIkDlM6U4BGtyC2jRV/ndFP7J0auUWZyjk8GCaM2FkeU6ZRKGtlFCKPO8t4UJqTsvkg5mLAU9adyOfgag3fOWg==
- dependencies:
- "@lerna/command" "5.2.0"
- "@lerna/filter-options" "5.2.0"
- "@lerna/npm-run-script" "5.2.0"
- "@lerna/output" "5.2.0"
- "@lerna/profiler" "5.2.0"
- "@lerna/run-topologically" "5.2.0"
- "@lerna/timer" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- p-map "^4.0.0"
-
-"@lerna/symlink-binary@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-5.2.0.tgz#b77a37755a96b005087755db188a7d5ad9bbc340"
- integrity sha512-sWTN215WarE+wuBuWhgLOnTtEem7RjiVUwSH7tOvLCX0TyCny/3NjXJkjdNzPxyYO809C3sDTtH7d3DnmYYAGQ==
- dependencies:
- "@lerna/create-symlink" "5.2.0"
- "@lerna/package" "5.2.0"
- fs-extra "^9.1.0"
- p-map "^4.0.0"
-
-"@lerna/symlink-dependencies@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-5.2.0.tgz#da52ff859a212b340f0dfb4a30b5eadbcfdc3ca9"
- integrity sha512-2MbkZnyn2M7Ng4ebrkMFO4yPwX814+IhLA74ZDSLnPle+2AafSk4xnOq+qTLSUfHoIxFDdCyWAvvEFSdDKSuRA==
- dependencies:
- "@lerna/create-symlink" "5.2.0"
- "@lerna/resolve-symlink" "5.2.0"
- "@lerna/symlink-binary" "5.2.0"
- fs-extra "^9.1.0"
- p-map "^4.0.0"
- p-map-series "^2.1.0"
-
-"@lerna/temp-write@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/temp-write/-/temp-write-5.2.0.tgz#ecaa29b343e22d4d289be4895ab2a2ef838b3399"
- integrity sha512-kvkFMVZbguhRr26svSdTcE29Iwyvv2l5g3VXYg0weD1J+k+UKGxTmeCCIxXIDAUM6+GN3FAH08Bj6Tyu3O1TsA==
- dependencies:
- graceful-fs "^4.1.15"
- is-stream "^2.0.0"
- make-dir "^3.0.0"
- temp-dir "^1.0.0"
- uuid "^8.3.2"
-
-"@lerna/timer@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-5.2.0.tgz#c711116d090bb1bda0ab89f754f57e183a5360b7"
- integrity sha512-LZM5lzoAhMx86eISENdsXHhjIu/hwiQp9jgPbPU+FEZOFFeNCSNtpD0zOViXFJnIeASs/e6dgYc2iRefOp4+dw==
-
-"@lerna/validation-error@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-5.2.0.tgz#0156d76b2ec6bf742359e349430cc638ae8cc09f"
- integrity sha512-9Mlciy2rraha7e/PuZlSfbAEAOgHtepxLFPbdxfkb/K793EUGoQGWt6X4SdbMsISP+dgx08HwigT2asOTz1eYw==
- dependencies:
- npmlog "^6.0.2"
-
-"@lerna/version@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/version/-/version-5.2.0.tgz#1af161853548d97e3e56b4e73690fd748436da1c"
- integrity sha512-2ilAzMidA4o74jHrU9KN3sGTe7wiZmme82fKSAT4RoYfkfTk6KO98Z6ZTXPTYfHkrb7/e02NuYNy0OQAt66UBA==
- dependencies:
- "@lerna/check-working-tree" "5.2.0"
- "@lerna/child-process" "5.2.0"
- "@lerna/collect-updates" "5.2.0"
- "@lerna/command" "5.2.0"
- "@lerna/conventional-commits" "5.2.0"
- "@lerna/github-client" "5.2.0"
- "@lerna/gitlab-client" "5.2.0"
- "@lerna/output" "5.2.0"
- "@lerna/prerelease-id-from-version" "5.2.0"
- "@lerna/prompt" "5.2.0"
- "@lerna/run-lifecycle" "5.2.0"
- "@lerna/run-topologically" "5.2.0"
- "@lerna/temp-write" "5.2.0"
- "@lerna/validation-error" "5.2.0"
- chalk "^4.1.0"
- dedent "^0.7.0"
- load-json-file "^6.2.0"
- minimatch "^3.0.4"
- npmlog "^6.0.2"
- p-map "^4.0.0"
- p-pipe "^3.1.0"
- p-reduce "^2.1.0"
- p-waterfall "^2.1.1"
- semver "^7.3.4"
- slash "^3.0.0"
- write-json-file "^4.3.0"
-
-"@lerna/write-log-file@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-5.2.0.tgz#412ec9801792a333ea79117a97d5a9ce1fc939ea"
- integrity sha512-qFUjCAXfkCTyH94zVWc86ipqlpJN0Pjr0l4qZDfOdelQoYFXz6WsP+ogAN1ka8m744vhYqSM1o+e9dpnCbES8A==
- dependencies:
- npmlog "^6.0.2"
- write-file-atomic "^3.0.3"
-
-"@metamask/eth-sig-util@^4.0.0":
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088"
- integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==
- dependencies:
- ethereumjs-abi "^0.6.8"
- ethereumjs-util "^6.2.1"
- ethjs-util "^0.1.6"
- tweetnacl "^1.0.3"
- tweetnacl-util "^0.15.1"
-
-"@metamask/eth-sig-util@^5.0.2":
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-5.0.2.tgz#c518279a6e17a88135a13d53a0b970f145ff8bce"
- integrity sha512-RU6fG/H6/UlBol221uBkq5C7w3TwLK611nEZliO2u+kO0vHKGBXnIPlhI0tzKUigjhUeOd9mhCNbNvhh0LKt9Q==
- dependencies:
- "@ethereumjs/util" "^8.0.0"
- bn.js "^4.11.8"
- ethereum-cryptography "^1.1.2"
- ethjs-util "^0.1.6"
- tweetnacl "^1.0.3"
- tweetnacl-util "^0.15.1"
-
-"@morgan-stanley/ts-mocking-bird@^0.6.2":
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/@morgan-stanley/ts-mocking-bird/-/ts-mocking-bird-0.6.4.tgz#2e4b60d42957bab3b50b67dbf14c3da2f62a39f7"
- integrity sha512-57VJIflP8eR2xXa9cD1LUawh+Gh+BVQfVu0n6GALyg/AqV/Nz25kDRvws3i9kIe1PTrbsZZOYpsYp6bXPd6nVA==
- dependencies:
- lodash "^4.17.16"
- uuid "^7.0.3"
-
-"@noble/hashes@1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183"
- integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==
-
-"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12"
- integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==
-
-"@noble/hashes@~1.1.1":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.3.tgz#360afc77610e0a61f3417e497dcf36862e4f8111"
- integrity sha512-CE0FCR57H2acVI5UOzIGSSIYxZ6v/HOhDR0Ro9VLyhnzLwx0o8W1mmgaqlEUx4049qJDlIBRztv5k+MM8vbO3A==
-
-"@noble/secp256k1@1.6.3", "@noble/secp256k1@~1.6.0":
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94"
- integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==
+"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12"
+ integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==
"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0":
version "1.7.1"
@@ -1580,29 +762,31 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@nomicfoundation/ethereumjs-block@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.0.0.tgz#fdd5c045e7baa5169abeed0e1202bf94e4481c49"
- integrity sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==
- dependencies:
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-trie" "^5.0.0"
- "@nomicfoundation/ethereumjs-tx" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+"@nomicfoundation/ethereumjs-block@5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.0.tgz#f27a3df0a796e2af7df4bd226d14748c303d105b"
+ integrity sha512-DfhVbqM5DjriguuSv6r3TgOpyXC76oX8D/VEODsSwJQ1bZGqu4xLLfYPPTacpCAYOnewzJsZli+Ao9TBTAo2uw==
+ dependencies:
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-trie" "6.0.0"
+ "@nomicfoundation/ethereumjs-tx" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
ethereum-cryptography "0.1.3"
+ ethers "^5.7.1"
-"@nomicfoundation/ethereumjs-blockchain@^6.0.0":
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.0.0.tgz#1a8c243a46d4d3691631f139bfb3a4a157187b0c"
- integrity sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==
- dependencies:
- "@nomicfoundation/ethereumjs-block" "^4.0.0"
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-ethash" "^2.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-trie" "^5.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+"@nomicfoundation/ethereumjs-blockchain@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.0.tgz#7f5aa889f96d43361aa21ec04f8dc1734e2fc818"
+ integrity sha512-cVRCrXZminZr0Mbx2hm0/109GZLn1v5bf0/k+SIbGn50yZm6YCdQt9CgGT0Gk56N2vy8NhXD4apo167m4LWk6Q==
+ dependencies:
+ "@nomicfoundation/ethereumjs-block" "5.0.0"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-ethash" "3.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-trie" "6.0.0"
+ "@nomicfoundation/ethereumjs-tx" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
abstract-level "^1.0.3"
debug "^4.3.3"
ethereum-cryptography "0.1.3"
@@ -1610,275 +794,265 @@
lru-cache "^5.1.1"
memory-level "^1.0.0"
-"@nomicfoundation/ethereumjs-common@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.0.0.tgz#f6bcc7753994555e49ab3aa517fc8bcf89c280b9"
- integrity sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==
+"@nomicfoundation/ethereumjs-common@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.0.tgz#23c97adbbb2b660da03467308821c83e314694e9"
+ integrity sha512-UPpm5FAGAf2B6hQ8aVgO44Rdo0k73oMMCViqNJcKMlk1s9l3rxwuPTp1l20NiGvNO2Pzqk3chFL+BzmLL2g4wQ==
dependencies:
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
crc-32 "^1.2.0"
-"@nomicfoundation/ethereumjs-ethash@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.0.tgz#11539c32fe0990e1122ff987d1b84cfa34774e81"
- integrity sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==
+"@nomicfoundation/ethereumjs-ethash@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.0.tgz#b03586948c5bd106c230dbb1c4dc2be5740d774c"
+ integrity sha512-6zNv5Y3vNIsxjrsbKjMInVpo8cmR0c7yjZbBpy7NYuIMtm0JKhQoXsiFN56t/1sfn9V3v0wgrkAixo5v6bahpA==
dependencies:
- "@nomicfoundation/ethereumjs-block" "^4.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+ "@nomicfoundation/ethereumjs-block" "5.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
abstract-level "^1.0.3"
bigint-crypto-utils "^3.0.23"
ethereum-cryptography "0.1.3"
-"@nomicfoundation/ethereumjs-evm@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.0.0.tgz#99cd173c03b59107c156a69c5e215409098a370b"
- integrity sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==
+"@nomicfoundation/ethereumjs-evm@2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.0.tgz#9023e42d0c5807720c42cf01218123c7d3a5c403"
+ integrity sha512-D+tr3M9sictopr3E20OVgme7YF/d0fU566WKh+ofXwmxapz/Dd8RSLSaVeKgfCI2BkzVA+XqXY08NNCV8w8fWA==
dependencies:
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
- "@types/async-eventemitter" "^0.2.1"
- async-eventemitter "^0.2.4"
+ "@ethersproject/providers" "^5.7.1"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-tx" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
debug "^4.3.3"
ethereum-cryptography "0.1.3"
mcl-wasm "^0.7.1"
rustbn.js "~0.2.0"
-"@nomicfoundation/ethereumjs-rlp@^4.0.0", "@nomicfoundation/ethereumjs-rlp@^4.0.0-beta.2":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.0.tgz#d9a9c5f0f10310c8849b6525101de455a53e771d"
- integrity sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==
+"@nomicfoundation/ethereumjs-rlp@5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.0.tgz#eececfc6b0758e0f8cf704c8128063e16d1c41cf"
+ integrity sha512-U1A0y330PtGb8Wft4yPVv0myWYJTesi89ItGoB0ICdqz7793KmUhpfQb2vJUXBi98wSdnxkIABO/GmsQvGKVDw==
-"@nomicfoundation/ethereumjs-statemanager@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.0.tgz#14a9d4e1c828230368f7ab520c144c34d8721e4b"
- integrity sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==
+"@nomicfoundation/ethereumjs-statemanager@2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.0.tgz#d935c7dc96fd4b83106e86ac6a1cc7d3a6e7278c"
+ integrity sha512-tgXtsx8yIDlxWMN+ThqPtGK0ITAuITrDy+GYIgGrnT6ZtelvXWM7SUYR0Mcv578lmGCoIwyHFtSBqOkOBYHLjw==
dependencies:
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-trie" "^5.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
debug "^4.3.3"
ethereum-cryptography "0.1.3"
- functional-red-black-tree "^1.0.1"
+ ethers "^5.7.1"
+ js-sdsl "^4.1.4"
-"@nomicfoundation/ethereumjs-trie@^5.0.0":
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.0.tgz#dcfbe3be53a94bc061c9767a396c16702bc2f5b7"
- integrity sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==
+"@nomicfoundation/ethereumjs-trie@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.0.tgz#71880ee6f5bc3dec296662dafa101778915fed01"
+ integrity sha512-YqPWiNxrZvL+Ef7KHqgru1IlaIGXhu78wd2fxNFOvi/NAQBF845dVfTKKXs1L9x0QBRRQRephgxHCKMuISGppw==
dependencies:
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
+ "@types/readable-stream" "^2.3.13"
ethereum-cryptography "0.1.3"
readable-stream "^3.6.0"
-"@nomicfoundation/ethereumjs-tx@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.0.0.tgz#59dc7452b0862b30342966f7052ab9a1f7802f52"
- integrity sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==
- dependencies:
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
+"@nomicfoundation/ethereumjs-tx@5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.0.tgz#e421063090b9a1fac4796be97aef2329af5a0ea7"
+ integrity sha512-LTyxI+zBJ+HuEBblUGbxvfKl1hg1uJlz2XhnszNagiBWQSgLb1vQCa1QaXV5Q8cUDYkr/Xe4NXWiUGEvH4e6lA==
+ dependencies:
+ "@chainsafe/ssz" "^0.9.2"
+ "@ethersproject/providers" "^5.7.2"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
ethereum-cryptography "0.1.3"
-"@nomicfoundation/ethereumjs-util@^8.0.0":
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.0.tgz#deb2b15d2c308a731e82977aefc4e61ca0ece6c5"
- integrity sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==
+"@nomicfoundation/ethereumjs-util@9.0.0":
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.0.tgz#980f6793278929f8f27f97d29cacd890459ac2b3"
+ integrity sha512-9EG98CsEC9BnI7AY27F4QXZ8Vf0re8R9XoxQ0//KWF+B7quu6GQvgTq1RlNUjGh/XNCCJNf8E3LOY9ULR85wFQ==
dependencies:
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0-beta.2"
+ "@chainsafe/ssz" "^0.10.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
ethereum-cryptography "0.1.3"
-"@nomicfoundation/ethereumjs-vm@^6.0.0":
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.0.0.tgz#2bb50d332bf41790b01a3767ffec3987585d1de6"
- integrity sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==
- dependencies:
- "@nomicfoundation/ethereumjs-block" "^4.0.0"
- "@nomicfoundation/ethereumjs-blockchain" "^6.0.0"
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-evm" "^1.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-statemanager" "^1.0.0"
- "@nomicfoundation/ethereumjs-trie" "^5.0.0"
- "@nomicfoundation/ethereumjs-tx" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
- "@types/async-eventemitter" "^0.2.1"
- async-eventemitter "^0.2.4"
+"@nomicfoundation/ethereumjs-vm@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.0.tgz#d1a511deccd1d2cf55c7d48de761749b1a86f422"
+ integrity sha512-eHkEoe/4r4+g+fZyIIlQjBHEjCPFs8CHiIEEMvMfvFrV4hyHnuTg4LH7l92ok7TGZqpWxgMG2JOEUFkNsXrKuQ==
+ dependencies:
+ "@nomicfoundation/ethereumjs-block" "5.0.0"
+ "@nomicfoundation/ethereumjs-blockchain" "7.0.0"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-evm" "2.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-statemanager" "2.0.0"
+ "@nomicfoundation/ethereumjs-trie" "6.0.0"
+ "@nomicfoundation/ethereumjs-tx" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
debug "^4.3.3"
ethereum-cryptography "0.1.3"
- functional-red-black-tree "^1.0.1"
mcl-wasm "^0.7.1"
rustbn.js "~0.2.0"
"@nomicfoundation/hardhat-network-helpers@^1.0.7":
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.7.tgz#9103be2b359899a8b7996f54df12a1b7977367e3"
- integrity sha512-X+3mNvn8B7BY5hpIaLO+TrfzWq12bpux+ajGGdmdcfC78NXmYmOZkAtiz1QZx1YIZGMS1LaXzPXyBExxKFpCaw==
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz#e4fe1be93e8a65508c46d73c41fa26c7e9f84931"
+ integrity sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==
dependencies:
ethereumjs-util "^7.1.4"
-"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.0.tgz#83a7367342bd053a76d04bbcf4f373fef07cf760"
- integrity sha512-vEF3yKuuzfMHsZecHQcnkUrqm8mnTWfJeEVFHpg+cO+le96xQA4lAJYdUan8pXZohQxv1fSReQsn4QGNuBNuCw==
+"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz#4c858096b1c17fe58a474fe81b46815f93645c15"
+ integrity sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==
-"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.0.tgz#1225f7da647ae1ad25a87125664704ecc0af6ccc"
- integrity sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==
+"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz#6e25ccdf6e2d22389c35553b64fe6f3fdaec432c"
+ integrity sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==
-"@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.0.tgz#dbc052dcdfd50ae50fd5ae1788b69b4e0fa40040"
- integrity sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==
+"@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz#0a224ea50317139caeebcdedd435c28a039d169c"
+ integrity sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==
-"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.0.tgz#e6b2eea633995b557e74e881d2a43eab4760903d"
- integrity sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==
+"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz#dfa085d9ffab9efb2e7b383aed3f557f7687ac2b"
+ integrity sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==
-"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.0.tgz#af81107f5afa794f19988a368647727806e18dc4"
- integrity sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==
+"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz#c9e06b5d513dd3ab02a7ac069c160051675889a4"
+ integrity sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==
-"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.0.tgz#6877e1da1a06a9f08446070ab6e0a5347109f868"
- integrity sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==
+"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz#8d328d16839e52571f72f2998c81e46bf320f893"
+ integrity sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==
-"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.0.tgz#bb6cd83a0c259eccef4183796b6329a66cf7ebd9"
- integrity sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==
+"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz#9b49d0634b5976bb5ed1604a1e1b736f390959bb"
+ integrity sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==
-"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.0.tgz#9d4bca1cc9a1333fde985675083b0b7d165f6076"
- integrity sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==
+"@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz#e2867af7264ebbcc3131ef837878955dd6a3676f"
+ integrity sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==
-"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.0.tgz#0db5bfc6aa952bea4098d8d2c8947b4e5c4337ee"
- integrity sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==
+"@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz#0685f78608dd516c8cdfb4896ed451317e559585"
+ integrity sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==
-"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.0.tgz#2e0f39a2924dcd77db6b419828595e984fabcb33"
- integrity sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==
+"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz#c9a44f7108646f083b82e851486e0f6aeb785836"
+ integrity sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==
"@nomicfoundation/solidity-analyzer@^0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.0.tgz#e5ddc43ad5c0aab96e5054520d8e16212e125f50"
- integrity sha512-xGWAiVCGOycvGiP/qrlf9f9eOn7fpNbyJygcB0P21a1MDuVPlKt0Srp7rvtBEutYQ48ouYnRXm33zlRnlTOPHg==
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz#f5f4d36d3f66752f59a57e7208cd856f3ddf6f2d"
+ integrity sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==
optionalDependencies:
- "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.0"
- "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.0"
- "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.0"
- "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.0"
- "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.0"
- "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.0"
- "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.0"
- "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.0"
- "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.0"
- "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.0"
+ "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1"
+ "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1"
"@nomiclabs/hardhat-ethers@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.1.0.tgz#9b7dc94d669ad9dc286b94f6f2f1513118c7027b"
- integrity sha512-vlW90etB3675QWG7tMrHaDoTa7ymMB7irM4DAQ98g8zJoe9YqEggeDnbO6v5b+BLth/ty4vN6Ko/kaqRN1krHw==
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0"
+ integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==
"@nomiclabs/hardhat-etherscan@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.0.tgz#7137554862b3b1c914f1b1bf110f0529fd2dec53"
- integrity sha512-JroYgfN1AlYFkQTQ3nRwFi4o8NtZF7K/qFR2dxDUgHbCtIagkUseca9L4E/D2ScUm4XT40+8PbCdqZi+XmHyQA==
+ version "3.1.7"
+ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.7.tgz#72e3d5bd5d0ceb695e097a7f6f5ff6fcbf062b9a"
+ integrity sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ==
dependencies:
"@ethersproject/abi" "^5.1.2"
"@ethersproject/address" "^5.0.2"
- cbor "^5.0.2"
+ cbor "^8.1.0"
chalk "^2.4.2"
debug "^4.1.1"
fs-extra "^7.0.1"
lodash "^4.17.11"
semver "^6.3.0"
table "^6.8.0"
- undici "^5.4.0"
+ undici "^5.14.0"
"@nomiclabs/hardhat-waffle@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz#9c538a09c5ed89f68f5fd2dc3f78f16ed1d6e0b1"
- integrity sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==
- dependencies:
- "@types/sinon-chai" "^3.2.3"
- "@types/web3" "1.0.19"
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.5.tgz#97c217f1db795395c04404291937edb528f3f218"
+ integrity sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==
-"@npmcli/arborist@5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.0.tgz#ee40dfe1f81ae1524819ee39c8f3e7022b0d6269"
- integrity sha512-zWV7scFGL0SmpvfQyIWnMFbU/0YgtMNyvJiJwR98kyjUSntJGWFFR0O600d5W+TrDcTg0GyDbY+HdzGEg+GXLg==
+"@npmcli/arborist@6.2.3":
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-6.2.3.tgz#31f8aed2588341864d3811151d929c01308f8e71"
+ integrity sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==
dependencies:
"@isaacs/string-locale-compare" "^1.1.0"
- "@npmcli/installed-package-contents" "^1.0.7"
- "@npmcli/map-workspaces" "^2.0.3"
- "@npmcli/metavuln-calculator" "^3.0.1"
- "@npmcli/move-file" "^2.0.0"
- "@npmcli/name-from-folder" "^1.0.1"
- "@npmcli/node-gyp" "^2.0.0"
- "@npmcli/package-json" "^2.0.0"
- "@npmcli/run-script" "^3.0.0"
- bin-links "^3.0.0"
- cacache "^16.0.6"
+ "@npmcli/fs" "^3.1.0"
+ "@npmcli/installed-package-contents" "^2.0.0"
+ "@npmcli/map-workspaces" "^3.0.2"
+ "@npmcli/metavuln-calculator" "^5.0.0"
+ "@npmcli/name-from-folder" "^2.0.0"
+ "@npmcli/node-gyp" "^3.0.0"
+ "@npmcli/package-json" "^3.0.0"
+ "@npmcli/query" "^3.0.0"
+ "@npmcli/run-script" "^6.0.0"
+ bin-links "^4.0.1"
+ cacache "^17.0.4"
common-ancestor-path "^1.0.1"
- json-parse-even-better-errors "^2.3.1"
+ hosted-git-info "^6.1.1"
+ json-parse-even-better-errors "^3.0.0"
json-stringify-nice "^1.1.4"
- mkdirp "^1.0.4"
- mkdirp-infer-owner "^2.0.0"
- nopt "^5.0.0"
- npm-install-checks "^5.0.0"
- npm-package-arg "^9.0.0"
- npm-pick-manifest "^7.0.0"
- npm-registry-fetch "^13.0.0"
- npmlog "^6.0.2"
- pacote "^13.0.5"
- parse-conflict-json "^2.0.1"
- proc-log "^2.0.0"
+ minimatch "^6.1.6"
+ nopt "^7.0.0"
+ npm-install-checks "^6.0.0"
+ npm-package-arg "^10.1.0"
+ npm-pick-manifest "^8.0.1"
+ npm-registry-fetch "^14.0.3"
+ npmlog "^7.0.1"
+ pacote "^15.0.8"
+ parse-conflict-json "^3.0.0"
+ proc-log "^3.0.0"
promise-all-reject-late "^1.0.0"
promise-call-limit "^1.0.1"
- read-package-json-fast "^2.0.2"
- readdir-scoped-modules "^1.1.0"
- rimraf "^3.0.2"
+ read-package-json-fast "^3.0.2"
semver "^7.3.7"
- ssri "^9.0.0"
- treeverse "^2.0.0"
+ ssri "^10.0.1"
+ treeverse "^3.0.0"
walk-up-path "^1.0.0"
-"@npmcli/ci-detect@^1.0.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz#18478bbaa900c37bfbd8a2006a6262c62e8b0fe1"
- integrity sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==
-
-"@npmcli/fs@^1.0.0":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257"
- integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==
+"@npmcli/fs@^2.1.0":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865"
+ integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==
dependencies:
- "@gar/promisify" "^1.0.1"
+ "@gar/promisify" "^1.1.3"
semver "^7.3.5"
-"@npmcli/fs@^2.1.0":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf"
- integrity sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==
+"@npmcli/fs@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e"
+ integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==
dependencies:
- "@gar/promisify" "^1.1.3"
semver "^7.3.5"
"@npmcli/git@^3.0.0":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.1.tgz#049b99b1381a2ddf7dc56ba3e91eaf76ca803a8d"
- integrity sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A==
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931"
+ integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==
dependencies:
"@npmcli/promise-spawn" "^3.0.0"
lru-cache "^7.4.4"
@@ -1890,6 +1064,20 @@
semver "^7.3.5"
which "^2.0.2"
+"@npmcli/git@^4.0.0":
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.0.4.tgz#cdf74f21b1d440c0756fb28159d935129d9daa33"
+ integrity sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==
+ dependencies:
+ "@npmcli/promise-spawn" "^6.0.0"
+ lru-cache "^7.4.4"
+ npm-pick-manifest "^8.0.0"
+ proc-log "^3.0.0"
+ promise-inflight "^1.0.1"
+ promise-retry "^2.0.1"
+ semver "^7.3.5"
+ which "^3.0.0"
+
"@npmcli/installed-package-contents@^1.0.7":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa"
@@ -1898,58 +1086,63 @@
npm-bundled "^1.1.1"
npm-normalize-package-bin "^1.0.1"
-"@npmcli/map-workspaces@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f"
- integrity sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q==
+"@npmcli/installed-package-contents@^2.0.0", "@npmcli/installed-package-contents@^2.0.1":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33"
+ integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==
dependencies:
- "@npmcli/name-from-folder" "^1.0.1"
- glob "^8.0.1"
- minimatch "^5.0.1"
- read-package-json-fast "^2.0.3"
+ npm-bundled "^3.0.0"
+ npm-normalize-package-bin "^3.0.0"
-"@npmcli/metavuln-calculator@^3.0.1":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622"
- integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA==
+"@npmcli/map-workspaces@^3.0.2":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.3.tgz#476944b63cd1f65bf83c6fdc7f4ca7be56906b1f"
+ integrity sha512-HlCvFuTzw4UNoKyZdqiNrln+qMF71QJkxy2dsusV8QQdoa89e2TF4dATCzBxbl4zzRzdDoWWyP5ADVrNAH9cRQ==
dependencies:
- cacache "^16.0.0"
- json-parse-even-better-errors "^2.3.1"
- pacote "^13.0.3"
- semver "^7.3.5"
+ "@npmcli/name-from-folder" "^2.0.0"
+ glob "^9.3.1"
+ minimatch "^7.4.2"
+ read-package-json-fast "^3.0.0"
-"@npmcli/move-file@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674"
- integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==
+"@npmcli/metavuln-calculator@^5.0.0":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz#426b3e524c2008bcc82dbc2ef390aefedd643d76"
+ integrity sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==
dependencies:
- mkdirp "^1.0.4"
- rimraf "^3.0.2"
+ cacache "^17.0.0"
+ json-parse-even-better-errors "^3.0.0"
+ pacote "^15.0.0"
+ semver "^7.3.5"
"@npmcli/move-file@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02"
- integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4"
+ integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==
dependencies:
mkdirp "^1.0.4"
rimraf "^3.0.2"
-"@npmcli/name-from-folder@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a"
- integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==
+"@npmcli/name-from-folder@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815"
+ integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==
"@npmcli/node-gyp@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35"
integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==
-"@npmcli/package-json@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a"
- integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==
+"@npmcli/node-gyp@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a"
+ integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==
+
+"@npmcli/package-json@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-3.0.0.tgz#c9219a197e1be8dbf43c4ef8767a72277c0533b6"
+ integrity sha512-NnuPuM97xfiCpbTEJYtEuKz6CFbpUHtaT0+5via5pQeI25omvQDFbp1GcGJ/c4zvL/WX0qbde6YiLgfZbWFgvg==
dependencies:
- json-parse-even-better-errors "^2.3.1"
+ json-parse-even-better-errors "^3.0.0"
"@npmcli/promise-spawn@^3.0.0":
version "3.0.0"
@@ -1958,20 +1151,35 @@
dependencies:
infer-owner "^1.0.4"
-"@npmcli/run-script@^3.0.0", "@npmcli/run-script@^3.0.2":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58"
- integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==
+"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1":
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2"
+ integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==
+ dependencies:
+ which "^3.0.0"
+
+"@npmcli/query@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.0.0.tgz#51a0dfb85811e04f244171f164b6bc83b36113a7"
+ integrity sha512-MFNDSJNgsLZIEBVZ0Q9w9K7o07j5N4o4yjtdz2uEpuCZlXGMuPENiRaFYk0vRqAA64qVuUQwC05g27fRtfUgnA==
+ dependencies:
+ postcss-selector-parser "^6.0.10"
+
+"@npmcli/run-script@4.1.7":
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7"
+ integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==
dependencies:
"@npmcli/node-gyp" "^2.0.0"
"@npmcli/promise-spawn" "^3.0.0"
- node-gyp "^8.4.1"
+ node-gyp "^9.0.0"
read-package-json-fast "^2.0.3"
+ which "^2.0.2"
"@npmcli/run-script@^4.1.0":
- version "4.1.7"
- resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7"
- integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946"
+ integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==
dependencies:
"@npmcli/node-gyp" "^2.0.0"
"@npmcli/promise-spawn" "^3.0.0"
@@ -1979,74 +1187,151 @@
read-package-json-fast "^2.0.3"
which "^2.0.2"
-"@nrwl/cli@14.4.3":
- version "14.4.3"
- resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-14.4.3.tgz#3d949e0da32e3af9f285ec376ec4f06314339716"
- integrity sha512-9WzOOXgdf9YJxqte5e8KNkM3NWOuBgM7hz9jEOyw53Ht1Y2H8xLDPVkqDTS9kROgcyMQxHIjIcw80wZNaZL8Mw==
+"@npmcli/run-script@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.0.tgz#f89e322c729e26ae29db6cc8cc76559074aac208"
+ integrity sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==
+ dependencies:
+ "@npmcli/node-gyp" "^3.0.0"
+ "@npmcli/promise-spawn" "^6.0.0"
+ node-gyp "^9.0.0"
+ read-package-json-fast "^3.0.0"
+ which "^3.0.0"
+
+"@nrwl/cli@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.9.2.tgz#82537d3d85410b0143d37a3b4fade09675356084"
+ integrity sha512-QoCmyrcGakHAYTJaNBbOerRQAmqJHMYGCdqtQidV+aP9p1Dy33XxDELfhd+IYmGqngutXuEWChNpWNhPloLnoA==
dependencies:
- nx "14.4.3"
+ nx "15.9.2"
-"@nrwl/tao@14.4.3":
- version "14.4.3"
- resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-14.4.3.tgz#08b86a81cb71574f491e9254104eaea1f7c6c5fd"
- integrity sha512-sHlnqTlJ/XEc/lv0MIKYI1R643CWFvYL6QyZD7f38FvP1RblZ6eVqvOJcrkpwcvRWcZNEY+GrQpb1Io1ZvMEmQ==
+"@nrwl/devkit@>=15.5.2 < 16":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.9.2.tgz#482b89f1bf88d3600b11f8b7e3e4452c5766eca4"
+ integrity sha512-2DvTstVZb91m+d4wqUJMBHQ3elxyabdmFE6/3aXmtOGeDxTyXyDzf/1O6JvBBiL8K6XC3ZYchjtxUHgxl/NJ5A==
dependencies:
- nx "14.4.3"
+ ejs "^3.1.7"
+ ignore "^5.0.4"
+ semver "7.3.4"
+ tmp "~0.2.1"
+ tslib "^2.3.0"
+
+"@nrwl/nx-darwin-arm64@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.2.tgz#612d8d714ec876cafd6f1483bf5565704d1b75be"
+ integrity sha512-Yv+OVsQt3C/hmWOC+YhJZQlsyph5w1BHfbp4jyCvV1ZXBbb8NdvwxgDHPWXxKPTc1EXuB7aEX3qzxM3/OWEUJg==
+
+"@nrwl/nx-darwin-x64@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.2.tgz#3f77bd90dbabf4782d81f773cfb2739a443e595f"
+ integrity sha512-qHfdluHlPzV0UHOwj1ZJ+qNEhzfLGiBuy1cOth4BSzDlvMnkuqBWoprfaXoztzYcus2NSILY1/7b3Jw4DAWmMw==
+
+"@nrwl/nx-linux-arm-gnueabihf@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.2.tgz#3374a5a1692b222ce18f2213a47b4d68fb509e70"
+ integrity sha512-0GzwbablosnYnnJDCJvAeZv8LlelSrNwUnGhe43saeoZdAew35Ay1E34zBrg/GCGTASuz+knEEYFM+gDD9Mc6A==
+
+"@nrwl/nx-linux-arm64-gnu@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.2.tgz#e3ec95c6ee3285c77422886cf4cbec1f04804460"
+ integrity sha512-3mFIY7iUTPG45hSIRaM2DmraCy8W6hNoArAGRrTgYw40BIJHtLrW+Rt7DLyvVXaYCvrKugWOKtxC+jG7kpIZVA==
+
+"@nrwl/nx-linux-arm64-musl@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.2.tgz#72ce601d256083ded7380c598f1b3eb4dc2a3472"
+ integrity sha512-FNBnXEtockwxZa4I3NqggrJp0YIbNokJvt/clrICP+ijOacdUDkv8mJedavobkFsRsNq9gzCbRbUScKymrOLrg==
+
+"@nrwl/nx-linux-x64-gnu@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.2.tgz#2da6bb50cd80d699310e91c7331baa6cfc8ce197"
+ integrity sha512-gHWsP5lbe4FNQCa1Q/VLxIuik+BqAOcSzyPjdUa4gCDcbxPa8xiE57PgXB5E1XUzOWNnDTlXa/Ll07/TIuKuog==
+
+"@nrwl/nx-linux-x64-musl@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.2.tgz#39b3bda5868a53b722f1d42700dce71c5ff3f6b9"
+ integrity sha512-EaFUukCbmoHsYECX2AS4pxXH933yesBFVvBgD38DkoFDxDoJMVt6JqYwm+d5R7S4R2P9U3l++aurljQTRq567Q==
+
+"@nrwl/nx-win32-arm64-msvc@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.2.tgz#bc350be5cb7d0bfa6c2c5ced40c5af163a457a2c"
+ integrity sha512-PGAe7QMr51ivx1X3avvs8daNlvv1wGo3OFrobjlu5rSyjC1Y3qHwT9+wdlwzNZ93FIqWOq09s+rE5gfZRfpdAg==
+
+"@nrwl/nx-win32-x64-msvc@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.2.tgz#3e46c3f7af196bdbf0deb336ec4f9448c54e4a9f"
+ integrity sha512-Q8onNzhuAZ0l9DNkm8D4Z1AEIzJr8JiT4L2fVBLYrV/R75C2HS3q7lzvfo6oqMY6mXge1cFPcrTtg3YXBQaSWA==
+
+"@nrwl/tao@15.9.2":
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.9.2.tgz#e970efa8b3fb828007b02286e9e505247032b5b3"
+ integrity sha512-+LqNC37w9c6q6Ukdpf0z0tt1PQFNi4gwhHpJvkYQiKRETHjyrrlyqTNEPEyA7PI62RuYC6VrpVw2gzI7ufqZEA==
+ dependencies:
+ nx "15.9.2"
"@octokit/auth-token@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.0.tgz#6f22c5fc56445c496628488ba6810131558fa4a9"
- integrity sha512-MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ==
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c"
+ integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==
dependencies:
- "@octokit/types" "^6.0.3"
+ "@octokit/types" "^9.0.0"
"@octokit/core@^4.0.0":
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.0.4.tgz#335d9b377691e3264ce57a9e5a1f6cda783e5838"
- integrity sha512-sUpR/hc4Gc7K34o60bWC7WUH6Q7T6ftZ2dUmepSyJr9PRF76/qqkWjE2SOEzCqLA5W83SaISymwKtxks+96hPQ==
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648"
+ integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==
dependencies:
"@octokit/auth-token" "^3.0.0"
"@octokit/graphql" "^5.0.0"
"@octokit/request" "^6.0.0"
"@octokit/request-error" "^3.0.0"
- "@octokit/types" "^6.0.3"
+ "@octokit/types" "^9.0.0"
before-after-hook "^2.2.0"
universal-user-agent "^6.0.0"
"@octokit/endpoint@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.0.tgz#be758a1236d68d6bbb505e686dd50881c327a519"
- integrity sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1"
+ integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==
dependencies:
- "@octokit/types" "^6.0.3"
+ "@octokit/types" "^9.0.0"
is-plain-object "^5.0.0"
universal-user-agent "^6.0.0"
"@octokit/graphql@^5.0.0":
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.0.tgz#2cc6eb3bf8e0278656df1a7d0ca0d7591599e3b3"
- integrity sha512-1ZZ8tX4lUEcLPvHagfIVu5S2xpHYXAmgN0+95eAOPoaVPzCfUXJtA5vASafcpWcO86ze0Pzn30TAx72aB2aguQ==
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2"
+ integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==
dependencies:
"@octokit/request" "^6.0.0"
- "@octokit/types" "^6.0.3"
+ "@octokit/types" "^9.0.0"
universal-user-agent "^6.0.0"
-"@octokit/openapi-types@^12.10.0":
- version "12.10.1"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.10.1.tgz#57b5cc6c7b4e55d8642c93d06401fb1af4839899"
- integrity sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==
+"@octokit/openapi-types@^12.11.0":
+ version "12.11.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
+ integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
+
+"@octokit/openapi-types@^14.0.0":
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a"
+ integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==
-"@octokit/plugin-enterprise-rest@^6.0.1":
+"@octokit/openapi-types@^16.0.0":
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e"
+ integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==
+
+"@octokit/plugin-enterprise-rest@6.0.1":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437"
integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==
"@octokit/plugin-paginate-rest@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.0.0.tgz#df779de686aeb21b5e776e4318defc33b0418566"
- integrity sha512-fvw0Q5IXnn60D32sKeLIxgXCEZ7BTSAjJd8cFAE6QU5qUp0xo7LjFUjjX1J5D7HgN355CN4EXE4+Q1/96JaNUA==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0"
+ integrity sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==
dependencies:
- "@octokit/types" "^6.39.0"
+ "@octokit/types" "^6.41.0"
"@octokit/plugin-request-log@^1.0.4":
version "1.0.4"
@@ -2054,35 +1339,35 @@
integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
"@octokit/plugin-rest-endpoint-methods@^6.0.0":
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.1.2.tgz#bbf55cfc43acf177514441ecd1d26031006f73ed"
- integrity sha512-sAfSKtLHNq0UQ2iFuI41I6m5SK6bnKFRJ5kUjDRVbmQXiRVi4aQiIcgG4cM7bt+bhSiWL4HwnTxDkWFlKeKClA==
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz#97391fda88949eb15f68dc291957ccbe1d3e8ad1"
+ integrity sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==
dependencies:
- "@octokit/types" "^6.40.0"
+ "@octokit/types" "^8.1.1"
deprecation "^2.3.1"
"@octokit/request-error@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.0.tgz#f527d178f115a3b62d76ce4804dd5bdbc0270a81"
- integrity sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69"
+ integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==
dependencies:
- "@octokit/types" "^6.0.3"
+ "@octokit/types" "^9.0.0"
deprecation "^2.0.0"
once "^1.4.0"
"@octokit/request@^6.0.0":
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.0.tgz#9c25606df84e6f2ccbcc2c58e1d35438e20b688b"
- integrity sha512-7IAmHnaezZrgUqtRShMlByJK33MT9ZDnMRgZjnRrRV9a/jzzFwKGz0vxhFU6i7VMLraYcQ1qmcAOin37Kryq+Q==
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.3.tgz#76d5d6d44da5c8d406620a4c285d280ae310bdb4"
+ integrity sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==
dependencies:
"@octokit/endpoint" "^7.0.0"
"@octokit/request-error" "^3.0.0"
- "@octokit/types" "^6.16.1"
+ "@octokit/types" "^9.0.0"
is-plain-object "^5.0.0"
node-fetch "^2.6.7"
universal-user-agent "^6.0.0"
-"@octokit/rest@^19.0.3":
+"@octokit/rest@19.0.3":
version "19.0.3"
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.3.tgz#b9a4e8dc8d53e030d611c053153ee6045f080f02"
integrity sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==
@@ -2092,17 +1377,31 @@
"@octokit/plugin-request-log" "^1.0.4"
"@octokit/plugin-rest-endpoint-methods" "^6.0.0"
-"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0":
- version "6.40.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.40.0.tgz#f2e665196d419e19bb4265603cf904a820505d0e"
- integrity sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==
+"@octokit/types@^6.41.0":
+ version "6.41.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
+ integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
+ dependencies:
+ "@octokit/openapi-types" "^12.11.0"
+
+"@octokit/types@^8.1.1":
+ version "8.2.1"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.2.1.tgz#a6de091ae68b5541f8d4fcf9a12e32836d4648aa"
+ integrity sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==
+ dependencies:
+ "@octokit/openapi-types" "^14.0.0"
+
+"@octokit/types@^9.0.0":
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635"
+ integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==
dependencies:
- "@octokit/openapi-types" "^12.10.0"
+ "@octokit/openapi-types" "^16.0.0"
-"@openzeppelin/contracts@^4.8.1":
- version "4.8.2"
- resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.8.2.tgz#d815ade0027b50beb9bcca67143c6bcc3e3923d6"
- integrity sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g==
+"@openzeppelin/contracts@^4.8.3":
+ version "4.8.3"
+ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.8.3.tgz#cbef3146bfc570849405f59cba18235da95a252a"
+ integrity sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg==
"@parcel/watcher@2.0.4":
version "2.0.4"
@@ -2112,13 +1411,13 @@
node-addon-api "^3.2.1"
node-gyp-build "^4.3.0"
-"@relaycorp/ws-mock@^5.2.5":
- version "5.2.5"
- resolved "https://registry.yarnpkg.com/@relaycorp/ws-mock/-/ws-mock-5.2.5.tgz#46066bf979bdeb8ab5fcbf628d98f22242a7e5f4"
- integrity sha512-7oLHoKjFGc/V15SvzZHBN3/A2oSVaxN+tOsjKxIh7E0bO1tCdylJieOc7+LPaKzCE4ZQh+MD8whSyvN5oMzsvw==
+"@relaycorp/ws-mock@^5.2.6":
+ version "5.2.6"
+ resolved "https://registry.yarnpkg.com/@relaycorp/ws-mock/-/ws-mock-5.2.6.tgz#eaabaf22e4c6d607d17c9e0ca65e3c76f7f6f4e1"
+ integrity sha512-qgwroa5EDCCUouzdz0IKOz8odIJekzn5JXwketTLx/M7ScCtxonqpBGni1M5K7vE72v5IJc+J17vJatHakbw8Q==
dependencies:
buffer-to-arraybuffer "0.0.6"
- ws "^8.12.1"
+ ws "^8.13.0"
"@resolver-engine/core@^0.3.3":
version "0.3.3"
@@ -2162,15 +1461,6 @@
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938"
integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==
-"@scure/bip32@1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.0.tgz#dea45875e7fbc720c2b4560325f1cf5d2246d95b"
- integrity sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==
- dependencies:
- "@noble/hashes" "~1.1.1"
- "@noble/secp256k1" "~1.6.0"
- "@scure/base" "~1.1.0"
-
"@scure/bip32@1.1.5":
version "1.1.5"
resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300"
@@ -2180,14 +1470,6 @@
"@noble/secp256k1" "~1.7.0"
"@scure/base" "~1.1.0"
-"@scure/bip39@1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a"
- integrity sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==
- dependencies:
- "@noble/hashes" "~1.1.1"
- "@scure/base" "~1.1.0"
-
"@scure/bip39@1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5"
@@ -2264,11 +1546,26 @@
"@sentry/types" "5.30.0"
tslib "^1.9.3"
+"@sigstore/protobuf-specs@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4"
+ integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==
+
+"@sinclair/typebox@^0.25.16":
+ version "0.25.24"
+ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
+ integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
+
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+"@sindresorhus/is@^4.0.0":
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
+ integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==
+
"@sinonjs/commons@^1.7.0":
version "1.8.6"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
@@ -2318,10 +1615,10 @@
dependencies:
antlr4ts "^0.5.0-alpha.4"
-"@solidity-parser/parser@^0.15.0":
- version "0.15.0"
- resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.15.0.tgz#1d359be40be84f174dd616ccfadcf43346c6bf63"
- integrity sha512-5UFJJTzWi1hgFk6aGCZ5rxG2DJkCJOzJ74qg7UkWSNCDSigW+CJLoYUb5bLiKrtI34Nr9rpFSUNHfkqtlL+N/w==
+"@solidity-parser/parser@^0.16.0":
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.0.tgz#1fb418c816ca1fc3a1e94b08bcfe623ec4e1add4"
+ integrity sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q==
dependencies:
antlr4ts "^0.5.0-alpha.4"
@@ -2332,10 +1629,12 @@
dependencies:
defer-to-connect "^1.0.1"
-"@tootallnate/once@1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
- integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@szmarczak/http-timer@^4.0.5":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
+ integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
+ dependencies:
+ defer-to-connect "^2.0.0"
"@tootallnate/once@2":
version "2.0.0"
@@ -2362,6 +1661,19 @@
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+"@tufjs/canonical-json@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31"
+ integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==
+
+"@tufjs/models@1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-1.0.2.tgz#6c1e99210ada62c057b1742b5528d85acbfe0a47"
+ integrity sha512-uxarDtxTIK3f8hJS4yFhW/lvTa3tsiQU5iDCRut+NCnOXvNtEul0Ct58NIIcIx9Rkt7OFEK31Ndpqsd663nsew==
+ dependencies:
+ "@tufjs/canonical-json" "1.0.0"
+ minimatch "^8.0.3"
+
"@typechain/ethers-v5@^10.2.0":
version "10.2.0"
resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.2.0.tgz#68f5963efb5214cb2d881477228e4b5b315473e1"
@@ -2384,18 +1696,6 @@
dependencies:
fs-extra "^9.1.0"
-"@types/async-eventemitter@^0.2.1":
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz#f8e6280e87e8c60b2b938624b0a3530fb3e24712"
- integrity sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==
-
-"@types/bn.js@*", "@types/bn.js@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68"
- integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==
- dependencies:
- "@types/node" "*"
-
"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5":
version "4.11.6"
resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
@@ -2403,10 +1703,27 @@
dependencies:
"@types/node" "*"
+"@types/bn.js@^5.1.0":
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682"
+ integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==
+ dependencies:
+ "@types/node" "*"
+
+"@types/cacheable-request@^6.0.1":
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183"
+ integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==
+ dependencies:
+ "@types/http-cache-semantics" "*"
+ "@types/keyv" "^3.1.4"
+ "@types/node" "*"
+ "@types/responselike" "^1.0.0"
+
"@types/chai@*":
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.1.tgz#e2c6e73e0bdeb2521d00756d099218e9f5d90a04"
- integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==
+ 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"
@@ -2423,27 +1740,39 @@
"@types/minimatch" "*"
"@types/node" "*"
+"@types/http-cache-semantics@*":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
+ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
+
"@types/json-schema@^7.0.9":
version "7.0.11"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
+"@types/keyv@^3.1.4":
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6"
+ integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==
+ dependencies:
+ "@types/node" "*"
"@types/lodash@*":
- version "4.14.191"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa"
- integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==
+ version "4.14.194"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76"
+ integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==
"@types/lru-cache@^5.1.0":
version "5.1.1"
resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef"
integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==
-"@types/minimatch@*", "@types/minimatch@^3.0.3":
+"@types/minimatch@*":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
+"@types/minimatch@^3.0.3":
version "3.0.5"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
@@ -2473,33 +1802,23 @@
"@types/node" "*"
"@types/node-fetch@^2.5.5":
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da"
- integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.3.tgz#175d977f5e24d93ad0f57602693c435c57ad7e80"
+ integrity sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==
dependencies:
"@types/node" "*"
form-data "^3.0.0"
-"@types/node@*":
- version "18.6.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5"
- integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==
+"@types/node@*", "@types/node@^18.15.11":
+ version "18.15.11"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
+ integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
"@types/node@^12.12.54", "@types/node@^12.12.6":
version "12.20.55"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
-"@types/node@^18.14.2":
- version "18.14.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.2.tgz#c076ed1d7b6095078ad3cf21dfeea951842778b1"
- integrity sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==
-
-"@types/node@^18.14.6":
- version "18.14.6"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93"
- integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==
-
"@types/normalize-package-data@^2.4.0":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
@@ -2518,9 +1837,17 @@
"@types/node" "*"
"@types/prettier@^2.1.1":
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a"
- integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
+ integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==
+
+"@types/readable-stream@^2.3.13":
+ version "2.3.15"
+ resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.15.tgz#3d79c9ceb1b6a57d5f6e6976f489b9b5384321ae"
+ integrity sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==
+ dependencies:
+ "@types/node" "*"
+ safe-buffer "~5.1.1"
"@types/resolve@^0.0.8":
version "0.0.8"
@@ -2529,6 +1856,13 @@
dependencies:
"@types/node" "*"
+"@types/responselike@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
+ integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
+ dependencies:
+ "@types/node" "*"
+
"@types/secp256k1@^4.0.1":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c"
@@ -2541,14 +1875,6 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91"
integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
-"@types/sinon-chai@^3.2.3":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.8.tgz#5871d09ab50d671d8e6dd72e9073f8e738ac61dc"
- integrity sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==
- dependencies:
- "@types/chai" "*"
- "@types/sinon" "*"
-
"@types/sinon@*":
version "10.0.13"
resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.13.tgz#60a7a87a70d9372d0b7b38cc03e825f46981fb83"
@@ -2561,19 +1887,6 @@
resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz#bf2e02a3dbd4aecaf95942ecd99b7402e03fad5e"
integrity sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==
-"@types/underscore@*":
- version "1.11.4"
- resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.4.tgz#62e393f8bc4bd8a06154d110c7d042a93751def3"
- integrity sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==
-
-"@types/web3@1.0.19":
- version "1.0.19"
- resolved "https://registry.yarnpkg.com/@types/web3/-/web3-1.0.19.tgz#46b85d91d398ded9ab7c85a5dd57cb33ac558924"
- integrity sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==
- dependencies:
- "@types/bn.js" "*"
- "@types/underscore" "*"
-
"@types/ws@^7.4.4":
version "7.4.7"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
@@ -2581,209 +1894,90 @@
dependencies:
"@types/node" "*"
-"@typescript-eslint/eslint-plugin@^5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz#cae1967b1e569e6171bbc6bec2afa4e0c8efccfe"
- integrity sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ==
+"@typescript-eslint/eslint-plugin@^5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.58.0.tgz#b1d4b0ad20243269d020ef9bbb036a40b0849829"
+ integrity sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==
dependencies:
- "@typescript-eslint/scope-manager" "5.31.0"
- "@typescript-eslint/type-utils" "5.31.0"
- "@typescript-eslint/utils" "5.31.0"
- debug "^4.3.4"
- functional-red-black-tree "^1.0.1"
- ignore "^5.2.0"
- regexpp "^3.2.0"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/eslint-plugin@^5.52.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz#2c821ad81b2c786d142279a8292090f77d1881f4"
- integrity sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==
- dependencies:
- "@typescript-eslint/scope-manager" "5.54.0"
- "@typescript-eslint/type-utils" "5.54.0"
- "@typescript-eslint/utils" "5.54.0"
+ "@eslint-community/regexpp" "^4.4.0"
+ "@typescript-eslint/scope-manager" "5.58.0"
+ "@typescript-eslint/type-utils" "5.58.0"
+ "@typescript-eslint/utils" "5.58.0"
debug "^4.3.4"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
- regexpp "^3.2.0"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/parser@^5.45.1":
- version "5.45.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.1.tgz#6440ec283fa1373a12652d4e2fef4cb6e7b7e8c6"
- integrity sha512-JQ3Ep8bEOXu16q0ztsatp/iQfDCtvap7sp/DKo7DWltUquj5AfCOpX2zSzJ8YkAVnrQNqQ5R62PBz2UtrfmCkA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.45.1"
- "@typescript-eslint/types" "5.45.1"
- "@typescript-eslint/typescript-estree" "5.45.1"
- debug "^4.3.4"
-
-"@typescript-eslint/parser@^5.52.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.54.0.tgz#def186eb1b1dbd0439df0dacc44fb6d8d5c417fe"
- integrity sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==
- dependencies:
- "@typescript-eslint/scope-manager" "5.54.0"
- "@typescript-eslint/types" "5.54.0"
- "@typescript-eslint/typescript-estree" "5.54.0"
- debug "^4.3.4"
-
-"@typescript-eslint/scope-manager@5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz#f47a794ba84d9b818ab7f8f44fff55a61016c606"
- integrity sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg==
- dependencies:
- "@typescript-eslint/types" "5.31.0"
- "@typescript-eslint/visitor-keys" "5.31.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"
- integrity sha512-D6fCileR6Iai7E35Eb4Kp+k0iW7F1wxXYrOhX/3dywsOJpJAQ20Fwgcf+P/TDtvQ7zcsWsrJaglaQWDhOMsspQ==
- dependencies:
- "@typescript-eslint/types" "5.45.1"
- "@typescript-eslint/visitor-keys" "5.45.1"
-
-"@typescript-eslint/scope-manager@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz#74b28ac9a3fc8166f04e806c957adb8c1fd00536"
- integrity sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==
- dependencies:
- "@typescript-eslint/types" "5.54.0"
- "@typescript-eslint/visitor-keys" "5.54.0"
-
-"@typescript-eslint/type-utils@5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz#70a0b7201360b5adbddb0c36080495aa08f6f3d9"
- integrity sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w==
+"@typescript-eslint/parser@^5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.58.0.tgz#2ac4464cf48bef2e3234cb178ede5af352dddbc6"
+ integrity sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==
dependencies:
- "@typescript-eslint/utils" "5.31.0"
+ "@typescript-eslint/scope-manager" "5.58.0"
+ "@typescript-eslint/types" "5.58.0"
+ "@typescript-eslint/typescript-estree" "5.58.0"
debug "^4.3.4"
- tsutils "^3.21.0"
-"@typescript-eslint/type-utils@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz#390717216eb61393a0cad2995da154b613ba7b26"
- integrity sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==
+"@typescript-eslint/scope-manager@5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz#5e023a48352afc6a87be6ce3c8e763bc9e2f0bc8"
+ integrity sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==
dependencies:
- "@typescript-eslint/typescript-estree" "5.54.0"
- "@typescript-eslint/utils" "5.54.0"
- debug "^4.3.4"
- tsutils "^3.21.0"
-
-"@typescript-eslint/types@5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.31.0.tgz#7aa389122b64b18e473c1672fb3b8310e5f07a9a"
- integrity sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g==
-
-"@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/types" "5.58.0"
+ "@typescript-eslint/visitor-keys" "5.58.0"
-"@typescript-eslint/types@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.0.tgz#7d519df01f50739254d89378e0dcac504cab2740"
- integrity sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==
-
-"@typescript-eslint/typescript-estree@5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz#eb92970c9d6e3946690d50c346fb9b1d745ee882"
- integrity sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw==
+"@typescript-eslint/type-utils@5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.58.0.tgz#f7d5b3971483d4015a470d8a9e5b8a7d10066e52"
+ integrity sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==
dependencies:
- "@typescript-eslint/types" "5.31.0"
- "@typescript-eslint/visitor-keys" "5.31.0"
+ "@typescript-eslint/typescript-estree" "5.58.0"
+ "@typescript-eslint/utils" "5.58.0"
debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@5.45.1":
- version "5.45.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.1.tgz#b3dc37f0c4f0fe73e09917fc735e6f96eabf9ba4"
- integrity sha512-76NZpmpCzWVrrb0XmYEpbwOz/FENBi+5W7ipVXAsG3OoFrQKJMiaqsBMbvGRyLtPotGqUfcY7Ur8j0dksDJDng==
- dependencies:
- "@typescript-eslint/types" "5.45.1"
- "@typescript-eslint/visitor-keys" "5.45.1"
- 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.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.58.0.tgz#54c490b8522c18986004df7674c644ffe2ed77d8"
+ integrity sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==
-"@typescript-eslint/typescript-estree@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz#f6f3440cabee8a43a0b25fa498213ebb61fdfe99"
- integrity sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==
+"@typescript-eslint/typescript-estree@5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz#4966e6ff57eaf6e0fce2586497edc097e2ab3e61"
+ integrity sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==
dependencies:
- "@typescript-eslint/types" "5.54.0"
- "@typescript-eslint/visitor-keys" "5.54.0"
+ "@typescript-eslint/types" "5.58.0"
+ "@typescript-eslint/visitor-keys" "5.58.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.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.31.0.tgz#e146fa00dca948bfe547d665b2138a2dc1b79acd"
- integrity sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg==
- dependencies:
- "@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.31.0"
- "@typescript-eslint/types" "5.31.0"
- "@typescript-eslint/typescript-estree" "5.31.0"
- eslint-scope "^5.1.1"
- eslint-utils "^3.0.0"
-
-"@typescript-eslint/utils@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.54.0.tgz#3db758aae078be7b54b8ea8ea4537ff6cd3fbc21"
- integrity sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==
+"@typescript-eslint/utils@5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.58.0.tgz#430d7c95f23ec457b05be5520c1700a0dfd559d5"
+ integrity sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==
dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.54.0"
- "@typescript-eslint/types" "5.54.0"
- "@typescript-eslint/typescript-estree" "5.54.0"
+ "@typescript-eslint/scope-manager" "5.58.0"
+ "@typescript-eslint/types" "5.58.0"
+ "@typescript-eslint/typescript-estree" "5.58.0"
eslint-scope "^5.1.1"
- eslint-utils "^3.0.0"
semver "^7.3.7"
-"@typescript-eslint/visitor-keys@5.31.0":
- version "5.31.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz#b0eca264df01ce85dceb76aebff3784629258f54"
- integrity sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg==
- dependencies:
- "@typescript-eslint/types" "5.31.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"
- integrity sha512-cy9ln+6rmthYWjH9fmx+5FU/JDpjQb586++x2FZlveq7GdGuLLW9a2Jcst2TGekH82bXpfmRNSwP9tyEs6RjvQ==
- dependencies:
- "@typescript-eslint/types" "5.45.1"
- eslint-visitor-keys "^3.3.0"
-
-"@typescript-eslint/visitor-keys@5.54.0":
- version "5.54.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz#846878afbf0cd67c19cfa8d75947383d4490db8f"
- integrity sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==
+"@typescript-eslint/visitor-keys@5.58.0":
+ version "5.58.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz#eb9de3a61d2331829e6761ce7fd13061781168b4"
+ integrity sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==
dependencies:
- "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/types" "5.58.0"
eslint-visitor-keys "^3.3.0"
-"@ungap/promise-all-settled@1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
- integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
-
"@uniswap/lib@1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@uniswap/lib/-/lib-1.1.1.tgz#0afd29601846c16e5d082866cbb24a9e0758e6bc"
@@ -2812,6 +2006,21 @@
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
+"@yarnpkg/parsers@^3.0.0-rc.18":
+ version "3.0.0-rc.42"
+ resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.42.tgz#3814e90a81bb1f9c06cc83c6a009139c55efe94d"
+ integrity sha512-eW9Mbegmb5bJjwawJM9ghjUjUqciNMhC6L7XrQPF/clXS5bbP66MstsgCT5hy9VlfUh/CfBT+0Wucf531dMjHA==
+ dependencies:
+ js-yaml "^3.10.0"
+ tslib "^2.4.0"
+
+"@zkochan/js-yaml@0.0.6":
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826"
+ integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==
+ dependencies:
+ argparse "^2.0.1"
+
JSONStream@^1.0.4, JSONStream@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -2820,7 +2029,7 @@ JSONStream@^1.0.4, JSONStream@^1.3.5:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
-abbrev@1:
+abbrev@1, abbrev@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
@@ -2830,6 +2039,11 @@ abbrev@1.0.x:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==
+abbrev@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
+ integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
+
abort-controller@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
@@ -2901,20 +2115,15 @@ acorn@^8.4.1, acorn@^8.8.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
-acorn@^8.7.1:
- version "8.8.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
- integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
-
add-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==
address@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9"
- integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
+ integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
adm-zip@^0.4.16:
version "0.4.16"
@@ -2938,13 +2147,13 @@ agent-base@6, agent-base@^6.0.2:
dependencies:
debug "4"
-agentkeepalive@^4.1.3, agentkeepalive@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717"
- integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==
+agentkeepalive@^4.2.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255"
+ integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==
dependencies:
debug "^4.1.0"
- depd "^1.1.2"
+ depd "^2.0.0"
humanize-ms "^1.2.1"
aggregate-error@^3.0.0:
@@ -2966,9 +2175,9 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
uri-js "^4.2.2"
ajv@^8.0.1:
- version "8.11.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f"
- integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==
+ version "8.12.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
+ integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
@@ -3235,6 +2444,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
+ansi-styles@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
+ integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+
ansi-underline@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-underline/-/ansi-underline-0.1.1.tgz#dfc920f4c97b5977ea162df8ffb988308aaa71a4"
@@ -3266,7 +2480,7 @@ antlr4ts@^0.5.0-alpha.4:
resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a"
integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==
-anymatch@~3.1.1:
+anymatch@~3.1.1, anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
@@ -3274,27 +2488,27 @@ anymatch@~3.1.1:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-anymatch@~3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
- integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
are-we-there-yet@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d"
- integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd"
+ integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==
dependencies:
delegates "^1.0.0"
readable-stream "^3.6.0"
+are-we-there-yet@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.0.tgz#3ff397dc14f08b52dd8b2a64d3cee154ab8760d2"
+ integrity sha512-nSXlV+u3vtVjRgihdTzbfWYzxPWGo424zPgQbHD0ZqIla3jqYAewDcvee0Ua2hjS5IfTAmjGlx1Jf0PKwjZDEw==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^4.1.0"
+
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -3358,6 +2572,14 @@ array-back@^4.0.1, array-back@^4.0.2:
resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e"
integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==
+array-buffer-byte-length@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
+ integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
+ dependencies:
+ call-bind "^1.0.2"
+ is-array-buffer "^3.0.1"
+
array-differ@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
@@ -3383,17 +2605,6 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
-array.prototype.reduce@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f"
- integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.2"
- es-array-method-boxes-properly "^1.0.0"
- is-string "^1.0.7"
-
array.prototype.reduce@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac"
@@ -3415,11 +2626,6 @@ arrify@^2.0.1:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
-asap@^2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
- integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
-
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -3457,7 +2663,7 @@ astral-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-async-eventemitter@^0.2.2, async-eventemitter@^0.2.4:
+async-eventemitter@^0.2.2:
version "0.2.4"
resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca"
integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==
@@ -3488,6 +2694,11 @@ async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.1:
dependencies:
lodash "^4.17.14"
+async@^3.2.3:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -3503,15 +2714,20 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+available-typed-arrays@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+ integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
aws4@^1.8.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
- integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3"
+ integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==
axios@^0.21.4:
version "0.21.4"
@@ -3520,6 +2736,15 @@ axios@^0.21.4:
dependencies:
follow-redirects "^1.14.0"
+axios@^1.0.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.5.tgz#e07209b39a0d11848e3e341fa087acd71dadc542"
+ integrity sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
@@ -4089,38 +3314,29 @@ bech32@1.1.4:
integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
before-after-hook@^2.2.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
- integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
+ integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
bigint-crypto-utils@^3.0.23:
- version "3.1.7"
- resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.7.tgz#c4c1b537c7c1ab7aadfaecf3edfd45416bf2c651"
- integrity sha512-zpCQpIE2Oy5WIQpjC9iYZf8Uh9QqoS51ZCooAcNvzv1AQ3VWdT52D0ksr1+/faeK8HVIej1bxXcP75YcqH3KPA==
- dependencies:
- bigint-mod-arith "^3.1.0"
-
-bigint-mod-arith@^3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz#658e416bc593a463d97b59766226d0a3021a76b1"
- integrity sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.2.2.tgz#e30a49ec38357c6981cd3da5aaa6480b1f752ee4"
+ integrity sha512-U1RbE3aX9ayCUVcIPHuPDPKcK3SFOXf93J1UK/iHlJuQB7bhagPIX06/CLpLEsDThJ7KA4Dhrnzynl+d2weTiw==
bignumber.js@^9.0.0, bignumber.js@^9.0.1:
- version "9.0.2"
- resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673"
- integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==
+ version "9.1.1"
+ resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6"
+ integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==
-bin-links@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49"
- integrity sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ==
+bin-links@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.1.tgz#afeb0549e642f61ff889b58ea2f8dca78fb9d8d3"
+ integrity sha512-bmFEM39CyX336ZGGRsGPlc6jZHriIoHacOQcTt72MktIjpPhZoP4te2jOyUXF3BLILmJ8aNLncoPVeIIFlrDeA==
dependencies:
- cmd-shim "^5.0.0"
- mkdirp-infer-owner "^2.0.0"
- npm-normalize-package-bin "^1.0.0"
- read-cmd-shim "^3.0.0"
- rimraf "^3.0.0"
- write-file-atomic "^4.0.0"
+ cmd-shim "^6.0.0"
+ npm-normalize-package-bin "^3.0.0"
+ read-cmd-shim "^4.0.0"
+ write-file-atomic "^5.0.0"
binary-extensions@^2.0.0:
version "2.2.0"
@@ -4172,24 +3388,6 @@ bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
-body-parser@1.20.0, body-parser@^1.16.0:
- version "1.20.0"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
- integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.10.3"
- raw-body "2.5.1"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
body-parser@1.20.1:
version "1.20.1"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
@@ -4208,7 +3406,7 @@ body-parser@1.20.1:
type-is "~1.6.18"
unpipe "1.0.0"
-body-parser@^1.20.1:
+body-parser@^1.16.0, body-parser@^1.20.1:
version "1.20.2"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
@@ -4279,10 +3477,10 @@ browser-level@^1.0.1:
module-error "^1.0.2"
run-parallel-limit "^1.1.0"
-browser-or-node@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-1.3.0.tgz#f2a4e8568f60263050a6714b2cc236bb976647a7"
- integrity sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==
+browser-or-node@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f"
+ integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==
browser-stdout@1.3.1:
version "1.3.1"
@@ -4411,9 +3609,9 @@ buffer@^6.0.3:
ieee754 "^1.2.1"
bufferutil@^4.0.1:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433"
- integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad"
+ integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==
dependencies:
node-gyp-build "^4.3.0"
@@ -4436,10 +3634,10 @@ busboy@^1.6.0:
dependencies:
streamsearch "^1.1.0"
-byte-size@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3"
- integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==
+byte-size@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.0.tgz#36528cd1ca87d39bd9abd51f5715dc93b6ceb032"
+ integrity sha512-NNiBxKgxybMBtWdmvx7ZITJi4ZG+CYUgwOSZTfqB1qogkRHrhbQE/R2r5Fh94X+InN5MCYz6SvB/ejHMj/HbsQ==
bytes@3.1.2:
version "3.1.2"
@@ -4455,40 +3653,16 @@ bytewise-core@^1.2.2:
bytewise@~1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/bytewise/-/bytewise-1.1.0.tgz#1d13cbff717ae7158094aa881b35d081b387253e"
- integrity sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==
- dependencies:
- bytewise-core "^1.2.2"
- typewise "^1.0.3"
-
-cacache@^15.0.5, cacache@^15.2.0:
- version "15.3.0"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb"
- integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==
- dependencies:
- "@npmcli/fs" "^1.0.0"
- "@npmcli/move-file" "^1.0.1"
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- glob "^7.1.4"
- infer-owner "^1.0.4"
- lru-cache "^6.0.0"
- minipass "^3.1.1"
- minipass-collect "^1.0.2"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.2"
- mkdirp "^1.0.3"
- p-map "^4.0.0"
- promise-inflight "^1.0.1"
- rimraf "^3.0.2"
- ssri "^8.0.1"
- tar "^6.0.2"
- unique-filename "^1.1.1"
+ resolved "https://registry.yarnpkg.com/bytewise/-/bytewise-1.1.0.tgz#1d13cbff717ae7158094aa881b35d081b387253e"
+ integrity sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==
+ dependencies:
+ bytewise-core "^1.2.2"
+ typewise "^1.0.3"
-cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0:
- version "16.1.1"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c"
- integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==
+cacache@^16.0.0, cacache@^16.1.0:
+ version "16.1.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e"
+ integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==
dependencies:
"@npmcli/fs" "^2.1.0"
"@npmcli/move-file" "^2.0.0"
@@ -4507,7 +3681,26 @@ cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0:
rimraf "^3.0.2"
ssri "^9.0.0"
tar "^6.1.11"
- unique-filename "^1.1.1"
+ unique-filename "^2.0.0"
+
+cacache@^17.0.0, cacache@^17.0.4:
+ version "17.0.5"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.5.tgz#6dbec26c11f1f6a2b558bc11ed3316577c339ebc"
+ integrity sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==
+ dependencies:
+ "@npmcli/fs" "^3.1.0"
+ fs-minipass "^3.0.0"
+ glob "^9.3.1"
+ lru-cache "^7.7.1"
+ minipass "^4.0.0"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.4"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ ssri "^10.0.0"
+ tar "^6.1.11"
+ unique-filename "^3.0.0"
cache-base@^1.0.1:
version "1.0.1"
@@ -4524,6 +3717,11 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
+cacheable-lookup@^5.0.3:
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
+ integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
+
cacheable-request@^6.0.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
@@ -4537,6 +3735,19 @@ cacheable-request@^6.0.0:
normalize-url "^4.1.0"
responselike "^1.0.2"
+cacheable-request@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
+ integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^4.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^6.0.1"
+ responselike "^2.0.0"
+
cachedown@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cachedown/-/cachedown-1.0.0.tgz#d43f036e4510696b31246d7db31ebf0f7ac32d15"
@@ -4583,9 +3794,9 @@ camelcase@^6.0.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30000844:
- version "1.0.30001370"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba"
- integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g==
+ version "1.0.30001478"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz#0ef8a1cf8b16be47a0f9fc4ecfc952232724b32a"
+ integrity sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==
case@^1.6.3:
version "1.6.3"
@@ -4602,28 +3813,14 @@ catering@^2.1.0, catering@^2.1.1:
resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510"
integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==
-cbor@^5.0.2:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c"
- integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==
+cbor@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5"
+ integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==
dependencies:
- bignumber.js "^9.0.1"
- nofilter "^1.0.4"
+ nofilter "^3.1.0"
chai@^4.3.6:
- version "4.3.6"
- resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c"
- integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==
- dependencies:
- assertion-error "^1.1.0"
- check-error "^1.0.2"
- deep-eql "^3.0.1"
- get-func-name "^2.0.0"
- loupe "^2.3.1"
- pathval "^1.1.1"
- type-detect "^4.0.5"
-
-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==
@@ -4664,7 +3861,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -4713,7 +3910,7 @@ chokidar@3.3.0:
optionalDependencies:
fsevents "~2.1.1"
-chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.5.1:
+chokidar@3.5.3, chokidar@^3.4.0:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -4778,14 +3975,14 @@ class-utils@^0.3.5:
static-extend "^0.1.1"
classic-level@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.2.0.tgz#2d52bdec8e7a27f534e67fdeb890abef3e643c27"
- integrity sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.3.0.tgz#5e36680e01dc6b271775c093f2150844c5edd5c8"
+ integrity sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==
dependencies:
abstract-level "^1.0.2"
catering "^2.1.0"
module-error "^1.0.1"
- napi-macros "~2.0.0"
+ napi-macros "^2.2.2"
node-gyp-build "^4.3.0"
clean-stack@^2.0.0:
@@ -4806,9 +4003,9 @@ cli-spinners@2.6.1:
integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
cli-spinners@^2.5.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a"
- integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.8.0.tgz#e97a3e2bd00e6d85aa0c13d7f9e3ce236f7787fc"
+ integrity sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==
cli-width@^3.0.0:
version "3.0.0"
@@ -4842,17 +4039,16 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
-clone-deep@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-1.0.0.tgz#b2f354444b5d4a0ce58faca337ef34da2b14a6c7"
- integrity sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==
+cliui@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
+ integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
dependencies:
- for-own "^1.0.0"
- is-plain-object "^2.0.4"
- kind-of "^5.0.0"
- shallow-clone "^1.0.0"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.1"
+ wrap-ansi "^7.0.0"
-clone-deep@^4.0.0, clone-deep@^4.0.1:
+clone-deep@4.0.1, clone-deep@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
@@ -4861,6 +4057,16 @@ clone-deep@^4.0.0, clone-deep@^4.0.1:
kind-of "^6.0.2"
shallow-clone "^3.0.0"
+clone-deep@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-1.0.0.tgz#b2f354444b5d4a0ce58faca337ef34da2b14a6c7"
+ integrity sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==
+ dependencies:
+ for-own "^1.0.0"
+ is-plain-object "^2.0.4"
+ kind-of "^5.0.0"
+ shallow-clone "^1.0.0"
+
clone-response@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3"
@@ -4878,20 +4084,18 @@ clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-cmd-shim@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd"
- integrity sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==
- dependencies:
- mkdirp-infer-owner "^2.0.0"
-
-cmd-shim@^5.0.0:
+cmd-shim@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724"
integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==
dependencies:
mkdirp-infer-owner "^2.0.0"
+cmd-shim@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d"
+ integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -4934,7 +4138,7 @@ color-support@^1.1.3:
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-columnify@^1.6.0:
+columnify@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==
@@ -5036,10 +4240,10 @@ concat-stream@^2.0.0:
readable-stream "^3.0.2"
typedarray "^0.0.6"
-config-chain@^1.1.12:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
- integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+config-chain@1.1.12:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
+ integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==
dependencies:
ini "^1.3.4"
proto-list "~1.2.1"
@@ -5065,25 +4269,20 @@ content-hash@^2.5.2:
multicodec "^0.5.5"
multihashes "^0.4.15"
-content-type@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
- integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-
-content-type@~1.0.5:
+content-type@~1.0.4, content-type@~1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-conventional-changelog-angular@^5.0.12:
- version "5.0.13"
- resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
- integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==
+conventional-changelog-angular@5.0.12:
+ version "5.0.12"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9"
+ integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==
dependencies:
compare-func "^2.0.0"
q "^1.5.1"
-conventional-changelog-core@^4.2.4:
+conventional-changelog-core@4.2.4:
version "4.2.4"
resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f"
integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==
@@ -5143,7 +4342,7 @@ conventional-commits-parser@^3.2.0:
split2 "^3.0.0"
through2 "^4.0.0"
-conventional-recommended-bump@^6.1.0:
+conventional-recommended-bump@6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55"
integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==
@@ -5158,11 +4357,9 @@ conventional-recommended-bump@^6.1.0:
q "^1.5.1"
convert-source-map@^1.5.1:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
- integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
- dependencies:
- safe-buffer "~5.1.1"
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
cookie-signature@1.0.6:
version "1.0.6"
@@ -5190,9 +4387,9 @@ copy-descriptor@^0.1.0:
integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
core-js-pure@^3.0.1:
- version "3.24.0"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.24.0.tgz#10eeb90dbf0d670a6b22b081aecc7deb2faec7e1"
- integrity sha512-uzMmW8cRh7uYw4JQtzqvGWRyC2T5+4zipQLQdi2FmiRqP83k3d6F3stv2iAlNhOs6cXN401FCD5TL0vvleuHgA==
+ version "3.30.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec"
+ integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==
core-js@^2.4.0, core-js@^2.5.0:
version "2.6.12"
@@ -5217,10 +4414,10 @@ cors@^2.8.1:
object-assign "^4"
vary "^1"
-cosmiconfig@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
- integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
+cosmiconfig@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
dependencies:
"@types/parse-json" "^4.0.0"
import-fresh "^3.2.1"
@@ -5314,6 +4511,16 @@ crypto-browserify@3.12.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
+crypto-random-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
+ integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
@@ -5344,7 +4551,7 @@ death@^1.1.0:
resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318"
integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -5372,15 +4579,10 @@ debug@^3.0.1, debug@^3.1.0:
dependencies:
ms "^2.1.1"
-debuglog@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
- integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==
-
decamelize-keys@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
- integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8"
+ integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==
dependencies:
decamelize "^1.1.0"
map-obj "^1.0.0"
@@ -5400,25 +4602,25 @@ decode-uri-component@^0.2.0:
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
-decompress-response@^3.2.0, decompress-response@^3.3.0:
+decompress-response@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==
dependencies:
mimic-response "^1.0.0"
-dedent@^0.7.0:
+decompress-response@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+ integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+ dependencies:
+ mimic-response "^3.1.0"
+
+dedent@0.7.0, dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
-deep-eql@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
- integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
- dependencies:
- type-detect "^4.0.0"
-
deep-eql@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d"
@@ -5449,9 +4651,9 @@ deep-is@^0.1.3, deep-is@~0.1.3:
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
defaults@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
- integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
dependencies:
clone "^1.0.2"
@@ -5460,6 +4662,11 @@ defer-to-connect@^1.0.1:
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+defer-to-connect@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
+ integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
+
deferred-leveldown@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb"
@@ -5481,9 +4688,9 @@ define-lazy-prop@^2.0.0:
integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
- integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
+ integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
dependencies:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
@@ -5510,10 +4717,24 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
-defined@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
- integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==
+defined@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf"
+ integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
+
+del@^6.0.0:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a"
+ integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==
+ dependencies:
+ globby "^11.0.1"
+ graceful-fs "^4.2.4"
+ is-glob "^4.0.1"
+ is-path-cwd "^2.2.0"
+ is-path-inside "^3.0.2"
+ p-map "^4.0.0"
+ rimraf "^3.0.2"
+ slash "^3.0.0"
delay@^5.0.0:
version "5.0.0"
@@ -5530,16 +4751,11 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-depd@2.0.0:
+depd@2.0.0, depd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-depd@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-
deprecation@^2.0.0, deprecation@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
@@ -5570,26 +4786,13 @@ detect-indent@^5.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==
-detect-indent@^6.0.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
- integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
-
detect-port@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1"
- integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b"
+ integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==
dependencies:
address "^1.0.1"
- debug "^2.6.0"
-
-dezalgo@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
- integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==
- dependencies:
- asap "^2.0.0"
- wrappy "1"
+ debug "4"
diff@3.5.0:
version "3.5.0"
@@ -5646,6 +4849,13 @@ dom-walk@^0.1.0:
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
+dot-prop@6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
+ dependencies:
+ is-obj "^2.0.0"
+
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -5653,17 +4863,10 @@ dot-prop@^5.1.0:
dependencies:
is-obj "^2.0.0"
-dot-prop@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
- integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
- dependencies:
- is-obj "^2.0.0"
-
dotenv@^16.0.1:
- version "16.0.1"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d"
- integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==
+ version "16.0.3"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
+ integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
dotenv@~10.0.0:
version "10.0.0"
@@ -5700,10 +4903,17 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+ejs@^3.1.7:
+ version "3.1.9"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
+ integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
+ dependencies:
+ jake "^10.8.5"
+
electron-to-chromium@^1.3.47:
- version "1.4.201"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.201.tgz#b018802ace20ce2567842d52b9e1c9d090fda674"
- integrity sha512-87D0gEHbhLZgZxZl2e9/rC/I2BicPC/y9wR/cuaJSqvkgN41s5EImi89S7YExHc7F0OBXiKsABZt9mmb9bqFcQ==
+ version "1.4.363"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.363.tgz#a3d51d16169d8f212f00bafb78cf0667e24c3647"
+ integrity sha512-ReX5qgmSU7ybhzMuMdlJAdYnRhT90UB3k9M05O5nF5WH3wR5wgdJjXw0uDeFyKNhmglmQiOxkAbzrP0hMKM59g==
elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4:
version "6.5.4"
@@ -5744,7 +4954,7 @@ encoding-down@5.0.4, encoding-down@~5.0.0:
level-errors "^2.0.0"
xtend "^4.0.1"
-encoding@^0.1.11, encoding@^0.1.12, encoding@^0.1.13:
+encoding@^0.1.11, encoding@^0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
@@ -5799,71 +5009,60 @@ error-symbol@^0.1.0:
resolved "https://registry.yarnpkg.com/error-symbol/-/error-symbol-0.1.0.tgz#0a4dae37d600d15a29ba453d8ef920f1844333f6"
integrity sha512-VyjaKxUmeDX/m2lxm/aknsJ1GWDWUO2Ze2Ad8S1Pb9dykAm9TjSKp5CjrNyltYqZ5W/PO6TInAmO2/BfwMyT1g==
-es-abstract@^1.19.0, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1:
- version "1.20.1"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814"
- integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==
- dependencies:
- call-bind "^1.0.2"
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- function.prototype.name "^1.1.5"
- get-intrinsic "^1.1.1"
- get-symbol-description "^1.0.0"
- has "^1.0.3"
- has-property-descriptors "^1.0.0"
- has-symbols "^1.0.3"
- internal-slot "^1.0.3"
- is-callable "^1.2.4"
- is-negative-zero "^2.0.2"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
- is-string "^1.0.7"
- is-weakref "^1.0.2"
- object-inspect "^1.12.0"
- object-keys "^1.1.1"
- object.assign "^4.1.2"
- regexp.prototype.flags "^1.4.3"
- string.prototype.trimend "^1.0.5"
- string.prototype.trimstart "^1.0.5"
- unbox-primitive "^1.0.2"
-
-es-abstract@^1.20.4:
- version "1.20.5"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2"
- integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==
+es-abstract@^1.19.0, es-abstract@^1.20.4:
+ version "1.21.2"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff"
+ integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==
dependencies:
+ array-buffer-byte-length "^1.0.0"
+ available-typed-arrays "^1.0.5"
call-bind "^1.0.2"
+ es-set-tostringtag "^2.0.1"
es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
function.prototype.name "^1.1.5"
- get-intrinsic "^1.1.3"
+ get-intrinsic "^1.2.0"
get-symbol-description "^1.0.0"
+ globalthis "^1.0.3"
gopd "^1.0.1"
has "^1.0.3"
has-property-descriptors "^1.0.0"
+ has-proto "^1.0.1"
has-symbols "^1.0.3"
- internal-slot "^1.0.3"
+ internal-slot "^1.0.5"
+ is-array-buffer "^3.0.2"
is-callable "^1.2.7"
is-negative-zero "^2.0.2"
is-regex "^1.1.4"
is-shared-array-buffer "^1.0.2"
is-string "^1.0.7"
+ is-typed-array "^1.1.10"
is-weakref "^1.0.2"
- object-inspect "^1.12.2"
+ object-inspect "^1.12.3"
object-keys "^1.1.1"
object.assign "^4.1.4"
regexp.prototype.flags "^1.4.3"
safe-regex-test "^1.0.0"
+ string.prototype.trim "^1.2.7"
string.prototype.trimend "^1.0.6"
string.prototype.trimstart "^1.0.6"
+ typed-array-length "^1.0.4"
unbox-primitive "^1.0.2"
+ which-typed-array "^1.1.9"
es-array-method-boxes-properly@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+es-set-tostringtag@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
+ integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
+ dependencies:
+ get-intrinsic "^1.1.3"
+ has "^1.0.3"
+ has-tostringtag "^1.0.0"
+
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@@ -5874,9 +5073,9 @@ es-to-primitive@^1.2.1:
is-symbol "^1.0.2"
es5-ext@^0.10.35, es5-ext@^0.10.50:
- version "0.10.61"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269"
- integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==
+ version "0.10.62"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5"
+ integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==
dependencies:
es6-iterator "^2.0.3"
es6-symbol "^3.1.3"
@@ -5944,14 +5143,9 @@ escodegen@1.8.x:
source-map "~0.2.0"
eslint-config-prettier@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
- integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
-
-eslint-config-prettier@^8.6.0:
- version "8.6.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
- integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
+ version "8.8.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
+ integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
eslint-plugin-prettier@^4.2.1:
version "4.2.1"
@@ -5969,78 +5163,27 @@ eslint-scope@^5.1.1:
estraverse "^4.1.1"
eslint-scope@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
- integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
+ integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
-eslint-utils@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
- integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
- dependencies:
- eslint-visitor-keys "^2.0.0"
-
-eslint-visitor-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
- integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-
-eslint-visitor-keys@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
- integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
+eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc"
+ integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
eslint@^8.20.0:
- version "8.20.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b"
- integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==
- dependencies:
- "@eslint/eslintrc" "^1.3.0"
- "@humanwhocodes/config-array" "^0.9.2"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.1"
- eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.3.0"
- espree "^9.3.2"
- esquery "^1.4.0"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^6.0.1"
- globals "^13.15.0"
- ignore "^5.2.0"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- regexpp "^3.2.0"
- strip-ansi "^6.0.1"
- strip-json-comments "^3.1.0"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-eslint@^8.34.0:
- version "8.35.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323"
- integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==
- dependencies:
- "@eslint/eslintrc" "^2.0.0"
- "@eslint/js" "8.35.0"
+ version "8.38.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a"
+ integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
+ "@eslint-community/regexpp" "^4.4.0"
+ "@eslint/eslintrc" "^2.0.2"
+ "@eslint/js" "8.38.0"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
@@ -6051,9 +5194,8 @@ eslint@^8.34.0:
doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
eslint-scope "^7.1.1"
- eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.3.0"
- espree "^9.4.0"
+ eslint-visitor-keys "^3.4.0"
+ espree "^9.5.1"
esquery "^1.4.2"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
@@ -6075,28 +5217,18 @@ eslint@^8.34.0:
minimatch "^3.1.2"
natural-compare "^1.4.0"
optionator "^0.9.1"
- regexpp "^3.2.0"
strip-ansi "^6.0.1"
strip-json-comments "^3.1.0"
text-table "^0.2.0"
-espree@^9.3.2:
- version "9.3.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
- integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
- dependencies:
- acorn "^8.7.1"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.3.0"
-
-espree@^9.4.0:
- version "9.4.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
- integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
+espree@^9.5.1:
+ version "9.5.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4"
+ integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==
dependencies:
acorn "^8.8.0"
acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.3.0"
+ eslint-visitor-keys "^3.4.0"
esprima@2.7.x, esprima@^2.7.1:
version "2.7.3"
@@ -6108,17 +5240,10 @@ esprima@^4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
- integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
- dependencies:
- estraverse "^5.1.0"
-
esquery@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1"
- integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
+ integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
dependencies:
estraverse "^5.1.0"
@@ -6322,17 +5447,7 @@ ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3:
secp256k1 "^4.0.1"
setimmediate "^1.0.5"
-ethereum-cryptography@^1.0.3:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz#74f2ac0f0f5fe79f012c889b3b8446a9a6264e6d"
- integrity sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==
- dependencies:
- "@noble/hashes" "1.1.2"
- "@noble/secp256k1" "1.6.3"
- "@scure/bip32" "1.1.0"
- "@scure/bip39" "1.1.0"
-
-ethereum-cryptography@^1.1.2:
+ethereum-cryptography@^1.0.3, ethereum-cryptography@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a"
integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==
@@ -6559,41 +5674,41 @@ ethereumjs-wallet@0.6.5:
utf8 "^3.0.0"
uuid "^3.3.2"
-ethers@^5.0.1, ethers@^5.0.2, ethers@^5.5.2, ethers@^5.6.9:
- version "5.6.9"
- resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.9.tgz#4e12f8dfcb67b88ae7a78a9519b384c23c576a4d"
- integrity sha512-lMGC2zv9HC5EC+8r429WaWu3uWJUCgUCt8xxKCFqkrFuBDZXDYIdzDUECxzjf2BMF8IVBByY1EBoGSL3RTm8RA==
- dependencies:
- "@ethersproject/abi" "5.6.4"
- "@ethersproject/abstract-provider" "5.6.1"
- "@ethersproject/abstract-signer" "5.6.2"
- "@ethersproject/address" "5.6.1"
- "@ethersproject/base64" "5.6.1"
- "@ethersproject/basex" "5.6.1"
- "@ethersproject/bignumber" "5.6.2"
- "@ethersproject/bytes" "5.6.1"
- "@ethersproject/constants" "5.6.1"
- "@ethersproject/contracts" "5.6.2"
- "@ethersproject/hash" "5.6.1"
- "@ethersproject/hdnode" "5.6.2"
- "@ethersproject/json-wallets" "5.6.1"
- "@ethersproject/keccak256" "5.6.1"
- "@ethersproject/logger" "5.6.0"
- "@ethersproject/networks" "5.6.4"
- "@ethersproject/pbkdf2" "5.6.1"
- "@ethersproject/properties" "5.6.0"
- "@ethersproject/providers" "5.6.8"
- "@ethersproject/random" "5.6.1"
- "@ethersproject/rlp" "5.6.1"
- "@ethersproject/sha2" "5.6.1"
- "@ethersproject/signing-key" "5.6.2"
- "@ethersproject/solidity" "5.6.1"
- "@ethersproject/strings" "5.6.1"
- "@ethersproject/transactions" "5.6.2"
- "@ethersproject/units" "5.6.1"
- "@ethersproject/wallet" "5.6.2"
- "@ethersproject/web" "5.6.1"
- "@ethersproject/wordlists" "5.6.1"
+ethers@^5.0.1, ethers@^5.0.2, ethers@^5.5.2, ethers@^5.6.9, ethers@^5.7.1:
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
+ integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
+ dependencies:
+ "@ethersproject/abi" "5.7.0"
+ "@ethersproject/abstract-provider" "5.7.0"
+ "@ethersproject/abstract-signer" "5.7.0"
+ "@ethersproject/address" "5.7.0"
+ "@ethersproject/base64" "5.7.0"
+ "@ethersproject/basex" "5.7.0"
+ "@ethersproject/bignumber" "5.7.0"
+ "@ethersproject/bytes" "5.7.0"
+ "@ethersproject/constants" "5.7.0"
+ "@ethersproject/contracts" "5.7.0"
+ "@ethersproject/hash" "5.7.0"
+ "@ethersproject/hdnode" "5.7.0"
+ "@ethersproject/json-wallets" "5.7.0"
+ "@ethersproject/keccak256" "5.7.0"
+ "@ethersproject/logger" "5.7.0"
+ "@ethersproject/networks" "5.7.1"
+ "@ethersproject/pbkdf2" "5.7.0"
+ "@ethersproject/properties" "5.7.0"
+ "@ethersproject/providers" "5.7.2"
+ "@ethersproject/random" "5.7.0"
+ "@ethersproject/rlp" "5.7.0"
+ "@ethersproject/sha2" "5.7.0"
+ "@ethersproject/signing-key" "5.7.0"
+ "@ethersproject/solidity" "5.7.0"
+ "@ethersproject/strings" "5.7.0"
+ "@ethersproject/transactions" "5.7.0"
+ "@ethersproject/units" "5.7.0"
+ "@ethersproject/wallet" "5.7.0"
+ "@ethersproject/web" "5.7.1"
+ "@ethersproject/wordlists" "5.7.0"
ethjs-unit@0.1.6:
version "0.1.6"
@@ -6626,7 +5741,7 @@ eventemitter3@^4.0.4:
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-events@^3.0.0:
+events@^3.0.0, events@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
@@ -6639,6 +5754,21 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
+execa@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376"
+ integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
execa@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
@@ -6661,50 +5791,13 @@ expand-brackets@^2.1.4:
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-express@^4.14.0:
- version "4.18.1"
- resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
- integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
- dependencies:
- accepts "~1.3.8"
- array-flatten "1.1.1"
- body-parser "1.20.0"
- content-disposition "0.5.4"
- content-type "~1.0.4"
- cookie "0.5.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "2.0.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.2.0"
- fresh "0.5.2"
- http-errors "2.0.0"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.7"
- qs "6.10.3"
- range-parser "~1.2.1"
- safe-buffer "5.2.1"
- send "0.18.0"
- serve-static "1.15.0"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
-express@^4.18.2:
+express@^4.14.0, express@^4.18.2:
version "4.18.2"
resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
@@ -6742,11 +5835,11 @@ express@^4.18.2:
vary "~1.1.2"
ext@^1.1.2:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52"
- integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
+ integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
dependencies:
- type "^2.5.0"
+ type "^2.7.2"
extend-shallow@^2.0.1:
version "2.0.1"
@@ -6849,9 +5942,9 @@ fast-glob@3.2.7:
micromatch "^4.0.4"
fast-glob@^3.0.3, fast-glob@^3.2.9:
- version "3.2.11"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
- integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ version "3.2.12"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
+ integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@@ -6870,9 +5963,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
fastq@^1.6.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
- integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
+ integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
dependencies:
reusify "^1.0.4"
@@ -6897,6 +5990,18 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
+file-url@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77"
+ integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==
+
+filelist@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+ integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
+ dependencies:
+ minimatch "^5.0.1"
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -7016,16 +6121,16 @@ flat@^5.0.2:
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
flatted@^3.1.0:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2"
- integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
+ integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
flow-stoplight@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b"
integrity sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA==
-follow-redirects@^1.12.1, follow-redirects@^1.14.0:
+follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.15.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
@@ -7068,6 +6173,15 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -7109,6 +6223,16 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-extra@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
@@ -7120,10 +6244,10 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
-fs-extra@^10.1.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
- integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+fs-extra@^11.1.0:
+ version "11.1.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
+ integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
@@ -7156,16 +6280,6 @@ fs-extra@^8.1.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
- integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
fs-minipass@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
@@ -7180,6 +6294,13 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0:
dependencies:
minipass "^3.0.0"
+fs-minipass@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.1.tgz#853809af15b6d03e27638d1ab6432e6b378b085d"
+ integrity sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==
+ dependencies:
+ minipass "^4.0.0"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -7271,6 +6392,20 @@ gauge@^4.0.3:
strip-ansi "^6.0.1"
wide-align "^1.1.5"
+gauge@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.0.tgz#e270ca9d97dae84abf64e5277ef1ebddc7dd1e2f"
+ integrity sha512-0s5T5eciEG7Q3ugkxAkFtaDhrrhXsCRivA5y8C9WMHWuI8UlMOJg7+Iwf7Mccii+Dfs3H5jHepU0joPVyQU0Lw==
+ dependencies:
+ aproba "^1.0.3 || ^2.0.0"
+ color-support "^1.1.3"
+ console-control-strings "^1.1.0"
+ has-unicode "^2.0.1"
+ signal-exit "^3.0.7"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ wide-align "^1.1.5"
+
get-caller-file@^1.0.1, get-caller-file@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@@ -7286,19 +6421,10 @@ get-func-name@^2.0.0:
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598"
- integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.3"
-
-get-intrinsic@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
- integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
+ integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
dependencies:
function-bind "^1.1.1"
has "^1.0.3"
@@ -7319,15 +6445,15 @@ get-pkg-repo@^4.0.0:
through2 "^2.0.0"
yargs "^16.2.0"
-get-port@^5.1.1:
+get-port@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193"
integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==
+get-stream@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718"
+ integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==
get-stream@^4.1.0:
version "4.1.0"
@@ -7403,20 +6529,20 @@ git-semver-tags@^4.1.1:
meow "^8.0.0"
semver "^6.0.0"
-git-up@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-6.0.0.tgz#dbd6e4eee270338be847a0601e6d0763c90b74db"
- integrity sha512-6RUFSNd1c/D0xtGnyWN2sxza2bZtZ/EmI9448n6rCZruFwV/ezeEn2fJP7XnUQGwf0RAtd/mmUCbtH6JPYA2SA==
+git-up@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467"
+ integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==
dependencies:
is-ssh "^1.4.0"
- parse-url "^7.0.2"
+ parse-url "^8.1.0"
-git-url-parse@^12.0.0:
- version "12.0.0"
- resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-12.0.0.tgz#4ba70bc1e99138321c57e3765aaf7428e5abb793"
- integrity sha512-I6LMWsxV87vysX1WfsoglXsXg6GjQRKq7+Dgiseo+h0skmp5Hp2rzmcEIRQot9CPA+uzU7x1x7jZdqvTFGnB+Q==
+git-url-parse@13.1.0:
+ version "13.1.0"
+ resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4"
+ integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==
dependencies:
- git-up "^6.0.0"
+ git-up "^7.0.0"
gitconfiglocal@^1.0.0:
version "1.0.0"
@@ -7425,14 +6551,14 @@ gitconfiglocal@^1.0.0:
dependencies:
ini "^1.3.2"
-glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2:
+glob-parent@5.1.2, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
-glob-parent@^6.0.1, glob-parent@^6.0.2:
+glob-parent@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
@@ -7498,7 +6624,7 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.2.0:
+glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.2.3:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
@@ -7511,9 +6637,9 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.2.0:
path-is-absolute "^1.0.0"
glob@^8.0.1:
- version "8.0.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
- integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+ integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -7521,6 +6647,16 @@ glob@^8.0.1:
minimatch "^5.0.1"
once "^1.3.0"
+glob@^9.2.0, glob@^9.3.0, glob@^9.3.1:
+ version "9.3.5"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21"
+ integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ minimatch "^8.0.2"
+ minipass "^4.2.4"
+ path-scurry "^1.6.1"
+
global-modules@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
@@ -7545,13 +6681,6 @@ global@~4.4.0:
min-document "^2.19.0"
process "^0.11.10"
-globals@^13.15.0:
- version "13.17.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4"
- integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==
- dependencies:
- type-fest "^0.20.2"
-
globals@^13.19.0:
version "13.20.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
@@ -7564,6 +6693,25 @@ globals@^9.18.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+globalthis@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
+ integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
+ dependencies:
+ define-properties "^1.1.3"
+
+globby@11.1.0, globby@^11.0.1, globby@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
globby@^10.0.1:
version "10.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543"
@@ -7578,18 +6726,6 @@ globby@^10.0.1:
merge2 "^1.2.3"
slash "^3.0.0"
-globby@^11.0.2, globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
gopd@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
@@ -7614,31 +6750,33 @@ got@9.6.0:
to-readable-stream "^1.0.0"
url-parse-lax "^3.0.0"
-got@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a"
- integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==
- dependencies:
- decompress-response "^3.2.0"
- duplexer3 "^0.1.4"
- get-stream "^3.0.0"
- is-plain-obj "^1.1.0"
- is-retry-allowed "^1.0.0"
- is-stream "^1.0.0"
- isurl "^1.0.0-alpha5"
- lowercase-keys "^1.0.0"
- p-cancelable "^0.3.0"
- p-timeout "^1.1.1"
- safe-buffer "^5.0.1"
- timed-out "^4.0.0"
- url-parse-lax "^1.0.0"
- url-to-options "^1.0.1"
+got@^11.8.5:
+ version "11.8.6"
+ resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a"
+ integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==
+ dependencies:
+ "@sindresorhus/is" "^4.0.0"
+ "@szmarczak/http-timer" "^4.0.5"
+ "@types/cacheable-request" "^6.0.1"
+ "@types/responselike" "^1.0.0"
+ cacheable-lookup "^5.0.3"
+ cacheable-request "^7.0.2"
+ decompress-response "^6.0.0"
+ http2-wrapper "^1.0.0-beta.5.2"
+ lowercase-keys "^2.0.0"
+ p-cancelable "^2.0.0"
+ responselike "^2.0.0"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.6:
+graceful-fs@4.2.10:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
+ version "4.2.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
grapheme-splitter@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
@@ -7680,22 +6818,22 @@ hard-rejection@^2.1.0:
integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
hardhat@^2.12.7:
- version "2.12.7"
- resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.12.7.tgz#d8de2dc32e9a2956d53cf26ef4cd5857e57a3138"
- integrity sha512-voWoN6zn5d8BOEaczSyK/1PyfdeOeI3SbGCFb36yCHTJUt6OIqLb+ZDX30VhA1UsYKzLqG7UnWl3fKJUuANc6A==
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.13.1.tgz#12380aef6aa8ce67517e8ee166998be5ced8970e"
+ integrity sha512-ZZL7LQxHmbw4JQJsiEv2qE35nbR+isr2sIdtgZVPp0+zWqRkpr1OT7gmvhCNYfjpEPyfjZIxWriQWlphJhVPLQ==
dependencies:
"@ethersproject/abi" "^5.1.2"
"@metamask/eth-sig-util" "^4.0.0"
- "@nomicfoundation/ethereumjs-block" "^4.0.0"
- "@nomicfoundation/ethereumjs-blockchain" "^6.0.0"
- "@nomicfoundation/ethereumjs-common" "^3.0.0"
- "@nomicfoundation/ethereumjs-evm" "^1.0.0"
- "@nomicfoundation/ethereumjs-rlp" "^4.0.0"
- "@nomicfoundation/ethereumjs-statemanager" "^1.0.0"
- "@nomicfoundation/ethereumjs-trie" "^5.0.0"
- "@nomicfoundation/ethereumjs-tx" "^4.0.0"
- "@nomicfoundation/ethereumjs-util" "^8.0.0"
- "@nomicfoundation/ethereumjs-vm" "^6.0.0"
+ "@nomicfoundation/ethereumjs-block" "5.0.0"
+ "@nomicfoundation/ethereumjs-blockchain" "7.0.0"
+ "@nomicfoundation/ethereumjs-common" "4.0.0"
+ "@nomicfoundation/ethereumjs-evm" "2.0.0"
+ "@nomicfoundation/ethereumjs-rlp" "5.0.0"
+ "@nomicfoundation/ethereumjs-statemanager" "2.0.0"
+ "@nomicfoundation/ethereumjs-trie" "6.0.0"
+ "@nomicfoundation/ethereumjs-tx" "5.0.0"
+ "@nomicfoundation/ethereumjs-util" "9.0.0"
+ "@nomicfoundation/ethereumjs-vm" "7.0.0"
"@nomicfoundation/solidity-analyzer" "^0.1.0"
"@sentry/node" "^5.18.1"
"@types/bn.js" "^5.1.0"
@@ -7769,23 +6907,16 @@ has-property-descriptors@^1.0.0:
dependencies:
get-intrinsic "^1.1.1"
-has-symbol-support-x@^1.4.1:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
- integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
+has-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
+ integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-has-to-string-tag-x@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
- integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
- dependencies:
- has-symbol-support-x "^1.4.1"
-
has-tostringtag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
@@ -7793,7 +6924,7 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
-has-unicode@^2.0.1:
+has-unicode@2.0.1, has-unicode@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
@@ -7890,6 +7021,13 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.6.0:
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+hosted-git-info@^3.0.6:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
+ integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==
+ dependencies:
+ lru-cache "^6.0.0"
+
hosted-git-info@^4.0.0, hosted-git-info@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
@@ -7898,13 +7036,20 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1:
lru-cache "^6.0.0"
hosted-git-info@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56"
- integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f"
+ integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==
+ dependencies:
+ lru-cache "^7.5.1"
+
+hosted-git-info@^6.0.0, hosted-git-info@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58"
+ integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==
dependencies:
lru-cache "^7.5.1"
-http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0:
+http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
@@ -7925,15 +7070,6 @@ http-https@^1.0.0:
resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b"
integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==
-http-proxy-agent@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
- integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
- dependencies:
- "@tootallnate/once" "1"
- agent-base "6"
- debug "4"
-
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -7952,6 +7088,14 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
+http2-wrapper@^1.0.0-beta.5.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
+ integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
+ dependencies:
+ quick-lru "^5.1.1"
+ resolve-alpn "^1.0.0"
+
https-proxy-agent@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
@@ -7973,9 +7117,9 @@ humanize-ms@^1.2.1:
ms "^2.0.0"
husky@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
- integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
+ version "8.0.3"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
+ integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
@@ -8010,10 +7154,17 @@ ignore-walk@^5.0.1:
dependencies:
minimatch "^5.0.1"
+ignore-walk@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.2.tgz#c48f48397cf8ef6174fcc28aa5f8c1de6203d389"
+ integrity sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==
+ dependencies:
+ minimatch "^7.4.2"
+
ignore@^5.0.4, ignore@^5.1.1, ignore@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
- integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+ version "5.2.4"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
+ integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
immediate@^3.2.3:
version "3.3.0"
@@ -8026,9 +7177,9 @@ immediate@~3.2.3:
integrity sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==
immutable@^4.0.0-rc.12:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef"
- integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be"
+ integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.3.0"
@@ -8084,20 +7235,20 @@ ini@^1.3.2, ini@^1.3.4, ini@^1.3.5:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-init-package-json@^2.0.2:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-2.0.5.tgz#78b85f3c36014db42d8f32117252504f68022646"
- integrity sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==
+init-package-json@3.0.2, init-package-json@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69"
+ integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==
dependencies:
- npm-package-arg "^8.1.5"
+ npm-package-arg "^9.0.1"
promzard "^0.3.0"
- read "~1.0.1"
- read-package-json "^4.1.1"
+ read "^1.0.7"
+ read-package-json "^5.0.0"
semver "^7.3.5"
validate-npm-package-license "^3.0.4"
- validate-npm-package-name "^3.0.0"
+ validate-npm-package-name "^4.0.0"
-inquirer@^8.2.4:
+inquirer@8.2.4:
version "8.2.4"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4"
integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==
@@ -8118,12 +7269,33 @@ inquirer@^8.2.4:
through "^2.3.6"
wrap-ansi "^7.0.0"
-internal-slot@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
- integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+inquirer@^8.2.4:
+ version "8.2.5"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8"
+ integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.1"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.21"
+ mute-stream "0.0.8"
+ ora "^5.4.1"
+ run-async "^2.4.0"
+ rxjs "^7.5.5"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+ wrap-ansi "^7.0.0"
+
+internal-slot@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
+ integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
dependencies:
- get-intrinsic "^1.1.0"
+ get-intrinsic "^1.2.0"
has "^1.0.3"
side-channel "^1.0.4"
@@ -8183,6 +7355,15 @@ is-arguments@^1.0.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
+is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
+ integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.2.0"
+ is-typed-array "^1.1.10"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -8220,27 +7401,22 @@ is-buffer@^2.0.5, is-buffer@~2.0.3:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
- integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
-
-is-callable@^1.2.7:
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-is-ci@^2.0.0:
+is-ci@2.0.0, is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
dependencies:
ci-info "^2.0.0"
-is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
- integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.8.1:
+ version "2.12.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
+ integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
dependencies:
has "^1.0.3"
@@ -8393,12 +7569,12 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-is-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
- integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
+is-path-cwd@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
+ integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-is-path-inside@^3.0.3:
+is-path-inside@^3.0.2, is-path-inside@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
@@ -8408,7 +7584,7 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-is-plain-obj@^2.0.0, is-plain-obj@^2.1.0:
+is-plain-obj@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
@@ -8433,11 +7609,6 @@ is-regex@^1.0.4, is-regex@^1.1.4, is-regex@~1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
-is-retry-allowed@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
- integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-
is-shared-array-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
@@ -8452,7 +7623,12 @@ is-ssh@^1.4.0:
dependencies:
protocols "^2.0.1"
-is-stream@^1.0.0, is-stream@^1.0.1:
+is-stream@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+
+is-stream@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
@@ -8483,6 +7659,17 @@ is-text-path@^1.0.1:
dependencies:
text-extensions "^1.0.0"
+is-typed-array@^1.1.10, is-typed-array@^1.1.9:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
+ integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@@ -8559,18 +7746,20 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
-isurl@^1.0.0-alpha5:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
- integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
+jake@^10.8.5:
+ version "10.8.5"
+ resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+ integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
dependencies:
- has-to-string-tag-x "^1.2.0"
- is-object "^1.0.1"
+ async "^3.2.3"
+ chalk "^4.0.2"
+ filelist "^1.0.1"
+ minimatch "^3.0.4"
-jayson@^3.2.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25"
- integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ==
+jayson@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.0.0.tgz#145a0ced46f900934c9b307e1332bcb0c7dbdb17"
+ integrity sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==
dependencies:
"@types/connect" "^3.4.33"
"@types/node" "^12.12.54"
@@ -8582,14 +7771,13 @@ jayson@^3.2.0:
eyes "^0.1.8"
isomorphic-ws "^4.0.1"
json-stringify-safe "^5.0.1"
- lodash "^4.17.20"
uuid "^8.3.2"
ws "^7.4.5"
js-sdsl@^4.1.4:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711"
- integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430"
+ integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==
js-sha3@0.8.0, js-sha3@^0.8.0:
version "0.8.0"
@@ -8619,7 +7807,7 @@ js-yaml@3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@3.x:
+js-yaml@3.x, js-yaml@^3.10.0:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@@ -8654,6 +7842,11 @@ json-buffer@3.0.0:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -8664,6 +7857,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-parse-even-better-errors@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7"
+ integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==
+
json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9"
@@ -8709,11 +7907,11 @@ json-stable-stringify-without-jsonify@^1.0.1:
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
json-stable-stringify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
- integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0"
+ integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==
dependencies:
- jsonify "~0.0.0"
+ jsonify "^0.0.1"
json-stringify-nice@^1.1.4:
version "1.1.4"
@@ -8730,17 +7928,15 @@ json5@^0.5.1:
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
+json5@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-jsonc-parser@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
- integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
+jsonc-parser@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
+ integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
jsonfile@^2.1.0:
version "2.4.0"
@@ -8765,10 +7961,10 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
- integrity sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==
+jsonify@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978"
+ integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
jsonparse@^1.2.0, jsonparse@^1.3.1:
version "1.3.1"
@@ -8791,14 +7987,14 @@ jsprim@^1.2.2:
verror "1.10.0"
just-diff-apply@^5.2.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.3.1.tgz#30f40809ffed55ad76dccf73fa9b85a76964c867"
- integrity sha512-dgFenZnMsc1xGNqgdtgnh7DK+Oy352CE3VZLbzcbQpsBs9iI2K3M0IRrdgREZ72eItTjbl0suRyvKRdVQa9GbA==
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f"
+ integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==
-just-diff@^5.0.1:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.3.tgz#4c9c514dec5526b25ab977590e3c39a0cf271554"
- integrity sha512-a8p80xcpJ6sdurk5PxDKb4mav9MeKjA3zFKZpCWBIfvg8mznfnmb13MKZvlrwJ+Lhis0wM3uGAzE0ArhFHvIcg==
+just-diff@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285"
+ integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==
just-extend@^4.0.2:
version "4.2.1"
@@ -8814,9 +8010,9 @@ keccak@3.0.1:
node-gyp-build "^4.2.0"
keccak@^3.0.0, keccak@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0"
- integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276"
+ integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==
dependencies:
node-addon-api "^2.0.0"
node-gyp-build "^4.2.0"
@@ -8829,6 +8025,13 @@ keyv@^3.0.0:
dependencies:
json-buffer "3.0.0"
+keyv@^4.0.0:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56"
+ integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==
+ dependencies:
+ json-buffer "3.0.1"
+
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -8886,30 +8089,87 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
-lerna@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/lerna/-/lerna-5.2.0.tgz#eac37e40e111ae1bbc2f0716718915043e0fb0a3"
- integrity sha512-JbjmGhS8ja5lmTnwZhtDiFxkthR2chhA3QAyRPZDm3ptgZhZbAKsgIj4SdEQvZcepU4ixPlX9d3lIzbzlQFPAg==
- dependencies:
- "@lerna/add" "5.2.0"
- "@lerna/bootstrap" "5.2.0"
- "@lerna/changed" "5.2.0"
- "@lerna/clean" "5.2.0"
- "@lerna/cli" "5.2.0"
- "@lerna/create" "5.2.0"
- "@lerna/diff" "5.2.0"
- "@lerna/exec" "5.2.0"
- "@lerna/import" "5.2.0"
- "@lerna/info" "5.2.0"
- "@lerna/init" "5.2.0"
- "@lerna/link" "5.2.0"
- "@lerna/list" "5.2.0"
- "@lerna/publish" "5.2.0"
- "@lerna/run" "5.2.0"
- "@lerna/version" "5.2.0"
+lerna@^6.6.1:
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/lerna/-/lerna-6.6.1.tgz#4897171aed64e244a2d0f9000eef5c5b228f9332"
+ integrity sha512-WJtrvmbmR+6hMB9b5pvsxJzew0lRL6hARgW/My9BM4vYaxwPIA2I0riv3qQu5Zd7lYse7FEqJkTnl9Kn1bXhLA==
+ dependencies:
+ "@lerna/child-process" "6.6.1"
+ "@lerna/create" "6.6.1"
+ "@lerna/legacy-package-management" "6.6.1"
+ "@npmcli/arborist" "6.2.3"
+ "@npmcli/run-script" "4.1.7"
+ "@nrwl/devkit" ">=15.5.2 < 16"
+ "@octokit/plugin-enterprise-rest" "6.0.1"
+ "@octokit/rest" "19.0.3"
+ byte-size "7.0.0"
+ chalk "4.1.0"
+ clone-deep "4.0.1"
+ cmd-shim "5.0.0"
+ columnify "1.6.0"
+ config-chain "1.1.12"
+ conventional-changelog-angular "5.0.12"
+ conventional-changelog-core "4.2.4"
+ conventional-recommended-bump "6.1.0"
+ cosmiconfig "7.0.0"
+ dedent "0.7.0"
+ dot-prop "6.0.1"
+ envinfo "^7.7.4"
+ execa "5.0.0"
+ fs-extra "9.1.0"
+ get-port "5.1.1"
+ get-stream "6.0.0"
+ git-url-parse "13.1.0"
+ glob-parent "5.1.2"
+ globby "11.1.0"
+ graceful-fs "4.2.10"
+ has-unicode "2.0.1"
import-local "^3.0.2"
+ init-package-json "3.0.2"
+ inquirer "^8.2.4"
+ is-ci "2.0.0"
+ is-stream "2.0.0"
+ js-yaml "^4.1.0"
+ libnpmaccess "6.0.3"
+ libnpmpublish "6.0.4"
+ load-json-file "6.2.0"
+ make-dir "3.1.0"
+ minimatch "3.0.5"
+ multimatch "5.0.0"
+ node-fetch "2.6.7"
+ npm-package-arg "8.1.1"
+ npm-packlist "5.1.1"
+ npm-registry-fetch "^14.0.3"
npmlog "^6.0.2"
- nx ">=14.4.3 < 16"
+ nx ">=15.5.2 < 16"
+ p-map "4.0.0"
+ p-map-series "2.1.0"
+ p-pipe "3.1.0"
+ p-queue "6.6.2"
+ p-reduce "2.1.0"
+ p-waterfall "2.1.1"
+ pacote "13.6.2"
+ pify "5.0.0"
+ read-cmd-shim "3.0.0"
+ read-package-json "5.0.1"
+ resolve-from "5.0.0"
+ rimraf "^4.4.1"
+ semver "^7.3.8"
+ signal-exit "3.0.7"
+ slash "3.0.0"
+ ssri "9.0.1"
+ strong-log-transformer "2.1.0"
+ tar "6.1.11"
+ temp-dir "1.0.0"
+ typescript "^3 || ^4"
+ upath "^2.0.1"
+ uuid "8.3.2"
+ validate-npm-package-license "3.0.4"
+ validate-npm-package-name "4.0.0"
+ write-file-atomic "4.0.1"
+ write-pkg "4.0.0"
+ yargs "16.2.0"
+ yargs-parser "20.2.4"
level-codec@^9.0.0:
version "9.0.2"
@@ -9088,32 +8348,47 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
-libnpmaccess@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-4.0.3.tgz#dfb0e5b0a53c315a2610d300e46b4ddeb66e7eec"
- integrity sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==
+libnpmaccess@6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded"
+ integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg==
dependencies:
aproba "^2.0.0"
minipass "^3.1.1"
- npm-package-arg "^8.1.2"
- npm-registry-fetch "^11.0.0"
+ npm-package-arg "^9.0.1"
+ npm-registry-fetch "^13.0.0"
-libnpmpublish@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-4.0.2.tgz#be77e8bf5956131bcb45e3caa6b96a842dec0794"
- integrity sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==
+libnpmpublish@6.0.4:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b"
+ integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg==
dependencies:
- normalize-package-data "^3.0.2"
- npm-package-arg "^8.1.2"
- npm-registry-fetch "^11.0.0"
- semver "^7.1.3"
- ssri "^8.0.1"
+ normalize-package-data "^4.0.0"
+ npm-package-arg "^9.0.1"
+ npm-registry-fetch "^13.0.0"
+ semver "^7.3.7"
+ ssri "^9.0.0"
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==
+lines-and-columns@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b"
+ integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==
+
+load-json-file@6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1"
+ integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==
+ dependencies:
+ graceful-fs "^4.1.15"
+ parse-json "^5.0.0"
+ strip-bom "^4.0.0"
+ type-fest "^0.6.0"
+
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@@ -9135,16 +8410,6 @@ load-json-file@^4.0.0:
pify "^3.0.0"
strip-bom "^3.0.0"
-load-json-file@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1"
- integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==
- dependencies:
- graceful-fs "^4.1.15"
- parse-json "^5.0.0"
- strip-bom "^4.0.0"
- type-fest "^0.6.0"
-
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -9210,7 +8475,7 @@ lodash@4.17.20:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
-lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.16, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0:
+lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.16, lodash@^4.17.21, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -9269,9 +8534,9 @@ loose-envify@^1.0.0:
js-tokens "^3.0.0 || ^4.0.0"
loupe@^2.3.1:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3"
- integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53"
+ integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==
dependencies:
get-func-name "^2.0.0"
@@ -9307,9 +8572,14 @@ lru-cache@^6.0.0:
yallist "^4.0.0"
lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1:
- version "7.13.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4"
- integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89"
+ integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==
+
+lru-cache@^9.0.0:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.0.2.tgz#97f13c6b20532fba9bae821c39cd7d471f65119d"
+ integrity sha512-7zYMKApzQ9qQE13xQUzbXVY3p2C5lh+9V+bs8M9fRf1TF59id+8jkljRWtIPfBfNP4yQAol5cqh/e8clxatdXw==
lru_map@^0.3.3:
version "0.3.3"
@@ -9326,10 +8596,17 @@ ltgt@~2.1.1:
resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.1.3.tgz#10851a06d9964b971178441c23c9e52698eece34"
integrity sha512-5VjHC5GsENtIi5rbJd+feEpDKhfr7j0odoUR2Uh978g+2p93nd5o34cTjQWohXsPsCZeqoDnIqEf88mPCe0Pfw==
-lz-string@^1.4.4:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26"
- integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==
+lz-string@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941"
+ integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==
+
+make-dir@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
make-dir@^2.1.0:
version "2.1.0"
@@ -9339,22 +8616,15 @@ make-dir@^2.1.0:
pify "^4.0.1"
semver "^5.6.0"
-make-dir@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6:
- version "10.2.0"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz#0bde3914f2f82750b5d48c6d2294d2c74f985e5b"
- integrity sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==
+ version "10.2.1"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164"
+ integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==
dependencies:
agentkeepalive "^4.2.1"
cacache "^16.1.0"
@@ -9373,48 +8643,26 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6:
socks-proxy-agent "^7.0.0"
ssri "^9.0.0"
-make-fetch-happen@^8.0.9:
- version "8.0.14"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222"
- integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==
- dependencies:
- agentkeepalive "^4.1.3"
- cacache "^15.0.5"
- http-cache-semantics "^4.1.0"
- http-proxy-agent "^4.0.1"
- https-proxy-agent "^5.0.0"
- is-lambda "^1.0.1"
- lru-cache "^6.0.0"
- minipass "^3.1.3"
- minipass-collect "^1.0.2"
- minipass-fetch "^1.3.2"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- promise-retry "^2.0.1"
- socks-proxy-agent "^5.0.0"
- ssri "^8.0.0"
-
-make-fetch-happen@^9.0.1, make-fetch-happen@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968"
- integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==
+make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.0.tgz#f26b05e89317e960b75fd5e080e40d40f8d7b2a5"
+ integrity sha512-7ChuOzCb1LzdQZrTy0ky6RsCoMYeM+Fh4cY0+4zsJVhNcH5Q3OJojLY1mGkD0xAhWB29lskECVb6ZopofwjldA==
dependencies:
- agentkeepalive "^4.1.3"
- cacache "^15.2.0"
- http-cache-semantics "^4.1.0"
- http-proxy-agent "^4.0.1"
+ agentkeepalive "^4.2.1"
+ cacache "^17.0.0"
+ http-cache-semantics "^4.1.1"
+ http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.0"
is-lambda "^1.0.1"
- lru-cache "^6.0.0"
- minipass "^3.1.3"
- minipass-collect "^1.0.2"
- minipass-fetch "^1.3.2"
+ lru-cache "^7.7.1"
+ minipass "^4.0.0"
+ minipass-fetch "^3.0.0"
minipass-flush "^1.0.5"
minipass-pipeline "^1.2.4"
- negotiator "^0.6.2"
+ negotiator "^0.6.3"
promise-retry "^2.0.1"
- socks-proxy-agent "^6.0.0"
- ssri "^8.0.0"
+ socks-proxy-agent "^7.0.0"
+ ssri "^10.0.0"
map-cache@^0.2.2:
version "0.2.2"
@@ -9621,6 +8869,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+mimic-response@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+ integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
@@ -9672,9 +8925,30 @@ minimatch@5.0.1:
brace-expansion "^2.0.1"
minimatch@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
- integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^6.1.6:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42"
+ integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^7.4.2:
+ version "7.4.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb"
+ integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^8.0.2, minimatch@^8.0.3:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229"
+ integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==
dependencies:
brace-expansion "^2.0.1"
@@ -9687,10 +8961,10 @@ minimist-options@4.1.0:
is-plain-obj "^1.1.0"
kind-of "^6.0.3"
-minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.6:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
- integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
minipass-collect@^1.0.2:
version "1.0.2"
@@ -9699,23 +8973,23 @@ minipass-collect@^1.0.2:
dependencies:
minipass "^3.0.0"
-minipass-fetch@^1.3.0, minipass-fetch@^1.3.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6"
- integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==
+minipass-fetch@^2.0.3:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add"
+ integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==
dependencies:
- minipass "^3.1.0"
+ minipass "^3.1.6"
minipass-sized "^1.0.3"
- minizlib "^2.0.0"
+ minizlib "^2.1.2"
optionalDependencies:
- encoding "^0.1.12"
+ encoding "^0.1.13"
-minipass-fetch@^2.0.3:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8"
- integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==
+minipass-fetch@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.2.tgz#2f7275ae13f2fb0f2a469cee4f78250c25c80ab3"
+ integrity sha512-/ZpF1CQaWYqjbhfFgKNt3azxztEpc/JUPuMkqOgrnMQqcU8CbE409AUdJYTIWryl3PP5CBaTJZT71N49MXP/YA==
dependencies:
- minipass "^3.1.6"
+ minipass "^4.0.0"
minipass-sized "^1.0.3"
minizlib "^2.1.2"
optionalDependencies:
@@ -9736,7 +9010,7 @@ minipass-json-stream@^1.0.1:
jsonparse "^1.3.1"
minipass "^3.0.0"
-minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4:
+minipass-pipeline@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c"
integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
@@ -9758,13 +9032,23 @@ minipass@^2.6.0, minipass@^2.9.0:
safe-buffer "^5.1.2"
yallist "^3.0.0"
-minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6:
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
- integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
+minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6:
+ version "3.3.6"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
+ integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
dependencies:
yallist "^4.0.0"
+minipass@^4.0.0, minipass@^4.2.4:
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a"
+ integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==
+
+minipass@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
+ integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+
minizlib@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
@@ -9772,7 +9056,7 @@ minizlib@^1.3.3:
dependencies:
minipass "^2.9.0"
-minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2:
+minizlib@^2.1.1, minizlib@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
@@ -9812,10 +9096,10 @@ mkdirp-promise@^5.0.1:
dependencies:
mkdirp "*"
-mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+mkdirp@*:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.0.tgz#758101231418bda24435c0888a91d9bd91f1372d"
+ integrity sha512-7+JDnNsyCvZXoUJdkMR0oUE2AmAdsNXGTmRbiOjYIwQ6q+bL6NwrozGQdPcmYaNcrhH37F50HHBUzoaBV6FITQ==
mkdirp@0.5.5:
version "0.5.5"
@@ -9831,6 +9115,11 @@ mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.5:
dependencies:
minimist "^1.2.6"
+mkdirp@^1.0.3, mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
mnemonist@^0.38.0:
version "0.38.5"
resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade"
@@ -9868,35 +9157,7 @@ mocha@7.1.2:
yargs-parser "13.1.2"
yargs-unparser "1.6.0"
-mocha@^10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9"
- integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==
- dependencies:
- "@ungap/promise-all-settled" "1.1.2"
- ansi-colors "4.1.1"
- browser-stdout "1.3.1"
- chokidar "3.5.3"
- debug "4.3.4"
- diff "5.0.0"
- escape-string-regexp "4.0.0"
- find-up "5.0.0"
- glob "7.2.0"
- he "1.2.0"
- js-yaml "4.1.0"
- log-symbols "4.1.0"
- minimatch "5.0.1"
- ms "2.1.3"
- nanoid "3.3.3"
- serialize-javascript "6.0.0"
- strip-json-comments "3.1.1"
- supports-color "8.1.1"
- workerpool "6.2.1"
- yargs "16.2.0"
- yargs-parser "20.2.4"
- yargs-unparser "2.0.0"
-
-mocha@^10.2.0:
+mocha@^10.0.0, mocha@^10.2.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8"
integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==
@@ -10016,7 +9277,7 @@ multihashes@^0.4.15, multihashes@~0.4.15:
multibase "^0.7.0"
varint "^5.0.0"
-multimatch@^5.0.0:
+multimatch@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6"
integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==
@@ -10064,10 +9325,10 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-napi-macros@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b"
- integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==
+napi-macros@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.2.2.tgz#817fef20c3e0e40a963fbf7b37d1600bd0201044"
+ integrity sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==
natural-compare-lite@^1.4.0:
version "1.4.0"
@@ -10079,7 +9340,7 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3:
+negotiator@0.6.3, negotiator@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
@@ -10155,13 +9416,20 @@ node-environment-flags@1.0.6:
object.getownpropertydescriptors "^2.0.3"
semver "^5.7.0"
-node-fetch@^2.6.1, node-fetch@^2.6.7:
+node-fetch@2.6.7:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
dependencies:
whatwg-url "^5.0.0"
+node-fetch@^2.6.1, node-fetch@^2.6.7:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
+ integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
+ dependencies:
+ whatwg-url "^5.0.0"
+
node-fetch@~1.7.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
@@ -10171,46 +9439,30 @@ node-fetch@~1.7.1:
is-stream "^1.0.1"
node-gyp-build@^4.2.0, node-gyp-build@^4.3.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40"
- integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
-
-node-gyp@^8.4.1:
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937"
- integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==
- dependencies:
- env-paths "^2.2.0"
- glob "^7.1.4"
- graceful-fs "^4.2.6"
- make-fetch-happen "^9.1.0"
- nopt "^5.0.0"
- npmlog "^6.0.0"
- rimraf "^3.0.2"
- semver "^7.3.5"
- tar "^6.1.2"
- which "^2.0.2"
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055"
+ integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==
node-gyp@^9.0.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8"
- integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==
+ version "9.3.1"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4"
+ integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==
dependencies:
env-paths "^2.2.0"
glob "^7.1.4"
graceful-fs "^4.2.6"
make-fetch-happen "^10.0.3"
- nopt "^5.0.0"
+ nopt "^6.0.0"
npmlog "^6.0.0"
rimraf "^3.0.2"
semver "^7.3.5"
tar "^6.1.2"
which "^2.0.2"
-nofilter@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e"
- integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==
+nofilter@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66"
+ integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==
nopt@3.x:
version "3.0.6"
@@ -10219,12 +9471,19 @@ nopt@3.x:
dependencies:
abbrev "1"
-nopt@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
- integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+nopt@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d"
+ integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==
dependencies:
- abbrev "1"
+ abbrev "^1.0.0"
+
+nopt@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.1.0.tgz#91f6a3366182176e72ecab93a09c19b63b485f28"
+ integrity sha512-ZFPLe9Iu0tnx7oWhFxAo4s7QTn8+NNDDxYNaKLjE7Dp0tbakQ3M1QhQzsnzXHQBTUO3K9BmwaxnyO8Ayn2I95Q==
+ dependencies:
+ abbrev "^2.0.0"
normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
version "2.5.0"
@@ -10236,7 +9495,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^3.0.0, normalize-package-data@^3.0.2:
+normalize-package-data@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
@@ -10247,15 +9506,25 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.2:
validate-npm-package-license "^3.0.1"
normalize-package-data@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c"
- integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g==
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c"
+ integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==
dependencies:
hosted-git-info "^5.0.0"
is-core-module "^2.8.1"
semver "^7.3.5"
validate-npm-package-license "^3.0.4"
+normalize-package-data@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588"
+ integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==
+ dependencies:
+ hosted-git-info "^6.0.0"
+ is-core-module "^2.8.1"
+ semver "^7.3.5"
+ validate-npm-package-license "^3.0.4"
+
normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -10273,7 +9542,7 @@ normalize-url@^4.1.0:
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
-normalize-url@^6.1.0:
+normalize-url@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
@@ -10285,6 +9554,20 @@ npm-bundled@^1.1.1, npm-bundled@^1.1.2:
dependencies:
npm-normalize-package-bin "^1.0.1"
+npm-bundled@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4"
+ integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==
+ dependencies:
+ npm-normalize-package-bin "^2.0.0"
+
+npm-bundled@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7"
+ integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==
+ dependencies:
+ npm-normalize-package-bin "^3.0.0"
+
npm-install-checks@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234"
@@ -10292,31 +9575,58 @@ npm-install-checks@^5.0.0:
dependencies:
semver "^7.1.1"
-npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1:
+npm-install-checks@^6.0.0:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.1.1.tgz#b459b621634d06546664207fde16810815808db1"
+ integrity sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==
+ dependencies:
+ semver "^7.1.1"
+
+npm-normalize-package-bin@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-npm-package-arg@^8.0.0, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5:
- version "8.1.5"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44"
- integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==
+npm-normalize-package-bin@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff"
+ integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==
+
+npm-normalize-package-bin@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485"
+ integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==
+
+npm-package-arg@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04"
+ integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==
dependencies:
- hosted-git-info "^4.0.1"
- semver "^7.3.4"
+ hosted-git-info "^3.0.6"
+ semver "^7.0.0"
validate-npm-package-name "^3.0.0"
+npm-package-arg@^10.0.0, npm-package-arg@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1"
+ integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==
+ dependencies:
+ hosted-git-info "^6.0.0"
+ proc-log "^3.0.0"
+ semver "^7.3.5"
+ validate-npm-package-name "^5.0.0"
+
npm-package-arg@^9.0.0, npm-package-arg@^9.0.1:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987"
- integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==
+ version "9.1.2"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc"
+ integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==
dependencies:
hosted-git-info "^5.0.0"
proc-log "^2.0.1"
semver "^7.3.5"
validate-npm-package-name "^4.0.0"
-npm-packlist@^5.1.0, npm-packlist@^5.1.1:
+npm-packlist@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0"
integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==
@@ -10326,32 +9636,60 @@ npm-packlist@^5.1.0, npm-packlist@^5.1.1:
npm-bundled "^1.1.2"
npm-normalize-package-bin "^1.0.1"
+npm-packlist@^5.1.0:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b"
+ integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==
+ dependencies:
+ glob "^8.0.1"
+ ignore-walk "^5.0.1"
+ npm-bundled "^2.0.0"
+ npm-normalize-package-bin "^2.0.0"
+
+npm-packlist@^7.0.0:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32"
+ integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==
+ dependencies:
+ ignore-walk "^6.0.0"
+
npm-pick-manifest@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c"
- integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84"
+ integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==
dependencies:
npm-install-checks "^5.0.0"
- npm-normalize-package-bin "^1.0.1"
+ npm-normalize-package-bin "^2.0.0"
npm-package-arg "^9.0.0"
semver "^7.3.5"
-npm-registry-fetch@^11.0.0:
- version "11.0.0"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76"
- integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==
+npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz#c6acd97d1ad4c5dbb80eac7b386b03ffeb289e5f"
+ integrity sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==
+ dependencies:
+ npm-install-checks "^6.0.0"
+ npm-normalize-package-bin "^3.0.0"
+ npm-package-arg "^10.0.0"
+ semver "^7.3.5"
+
+npm-registry-fetch@14.0.3:
+ version "14.0.3"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz#8545e321c2b36d2c6fe6e009e77e9f0e527f547b"
+ integrity sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==
dependencies:
- make-fetch-happen "^9.0.1"
- minipass "^3.1.3"
- minipass-fetch "^1.3.0"
+ make-fetch-happen "^11.0.0"
+ minipass "^4.0.0"
+ minipass-fetch "^3.0.0"
minipass-json-stream "^1.0.1"
- minizlib "^2.0.0"
- npm-package-arg "^8.0.0"
+ minizlib "^2.1.2"
+ npm-package-arg "^10.0.0"
+ proc-log "^3.0.0"
npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1:
- version "13.3.0"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz#0ce10fa4a699a1e70685ecf41bbfb4150d74231b"
- integrity sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==
+ version "13.3.1"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e"
+ integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==
dependencies:
make-fetch-happen "^10.0.6"
minipass "^3.1.6"
@@ -10361,19 +9699,18 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1:
npm-package-arg "^9.0.1"
proc-log "^2.0.0"
-npm-registry-fetch@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661"
- integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==
+npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3:
+ version "14.0.4"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.4.tgz#43dfa55ce7c0d0c545d625c7a916bab5b95f7038"
+ integrity sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==
dependencies:
- "@npmcli/ci-detect" "^1.0.0"
- lru-cache "^6.0.0"
- make-fetch-happen "^8.0.9"
- minipass "^3.1.3"
- minipass-fetch "^1.3.0"
+ make-fetch-happen "^11.0.0"
+ minipass "^4.0.0"
+ minipass-fetch "^3.0.0"
minipass-json-stream "^1.0.1"
- minizlib "^2.0.0"
- npm-package-arg "^8.0.0"
+ minizlib "^2.1.2"
+ npm-package-arg "^10.0.0"
+ proc-log "^3.0.0"
npm-run-path@^4.0.1:
version "4.0.1"
@@ -10382,7 +9719,7 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-npmlog@^6.0.0, npmlog@^6.0.2:
+npmlog@6.0.2, npmlog@^6.0.0, npmlog@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
@@ -10392,6 +9729,16 @@ npmlog@^6.0.0, npmlog@^6.0.2:
gauge "^4.0.3"
set-blocking "^2.0.0"
+npmlog@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8"
+ integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==
+ dependencies:
+ are-we-there-yet "^4.0.0"
+ console-control-strings "^1.1.0"
+ gauge "^5.0.0"
+ set-blocking "^2.0.0"
+
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
@@ -10405,16 +9752,19 @@ number-to-bn@1.7.0:
bn.js "4.11.6"
strip-hex-prefix "1.0.0"
-nx@14.4.3, "nx@>=14.4.3 < 16", nx@^14.4.3:
- version "14.4.3"
- resolved "https://registry.yarnpkg.com/nx/-/nx-14.4.3.tgz#27a1aea9ffaf143800c20006ed20f9a26f4610a3"
- integrity sha512-XPaoEAfJI9056qdwTvkutQSwwA3iihqNDwhvk3dmgpT35j8Uzm/y67goACaCUBCjP2dIQqXfNfJVWQIpcG3MTw==
+nx@15.9.2, "nx@>=15.5.2 < 16", nx@^15.9.2:
+ version "15.9.2"
+ resolved "https://registry.yarnpkg.com/nx/-/nx-15.9.2.tgz#d7ace1e5ae64a47f1b553dc5da08dbdd858bde96"
+ integrity sha512-wtcs+wsuplSckvgk+bV+/XuGlo+sVWzSG0RpgWBjQYeqA3QsVFEAPVY66Z5cSoukDbTV77ddcAjEw+Rz8oOR1A==
dependencies:
- "@nrwl/cli" "14.4.3"
- "@nrwl/tao" "14.4.3"
+ "@nrwl/cli" "15.9.2"
+ "@nrwl/tao" "15.9.2"
"@parcel/watcher" "2.0.4"
- chalk "4.1.0"
- chokidar "^3.5.1"
+ "@yarnpkg/lockfile" "^1.1.0"
+ "@yarnpkg/parsers" "^3.0.0-rc.18"
+ "@zkochan/js-yaml" "0.0.6"
+ axios "^1.0.0"
+ chalk "^4.1.0"
cli-cursor "3.1.0"
cli-spinners "2.6.1"
cliui "^7.0.2"
@@ -10423,23 +9773,35 @@ nx@14.4.3, "nx@>=14.4.3 < 16", nx@^14.4.3:
fast-glob "3.2.7"
figures "3.2.0"
flat "^5.0.2"
- fs-extra "^10.1.0"
+ fs-extra "^11.1.0"
glob "7.1.4"
ignore "^5.0.4"
js-yaml "4.1.0"
- jsonc-parser "3.0.0"
+ jsonc-parser "3.2.0"
+ lines-and-columns "~2.0.3"
minimatch "3.0.5"
npm-run-path "^4.0.1"
open "^8.4.0"
semver "7.3.4"
string-width "^4.2.3"
+ strong-log-transformer "^2.1.0"
tar-stream "~2.2.0"
tmp "~0.2.1"
- tsconfig-paths "^3.9.0"
+ tsconfig-paths "^4.1.2"
tslib "^2.3.0"
v8-compile-cache "2.3.0"
- yargs "^17.4.0"
- yargs-parser "21.0.1"
+ yargs "^17.6.2"
+ yargs-parser "21.1.1"
+ optionalDependencies:
+ "@nrwl/nx-darwin-arm64" "15.9.2"
+ "@nrwl/nx-darwin-x64" "15.9.2"
+ "@nrwl/nx-linux-arm-gnueabihf" "15.9.2"
+ "@nrwl/nx-linux-arm64-gnu" "15.9.2"
+ "@nrwl/nx-linux-arm64-musl" "15.9.2"
+ "@nrwl/nx-linux-x64-gnu" "15.9.2"
+ "@nrwl/nx-linux-x64-musl" "15.9.2"
+ "@nrwl/nx-win32-arm64-msvc" "15.9.2"
+ "@nrwl/nx-win32-x64-msvc" "15.9.2"
oauth-sign@~0.9.0:
version "0.9.0"
@@ -10460,10 +9822,10 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
-object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0, object-inspect@~1.12.0:
- version "1.12.2"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
- integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
+object-inspect@^1.12.3, object-inspect@^1.9.0, object-inspect@~1.12.3:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
+ integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
object-is@^1.0.1:
version "1.1.5"
@@ -10500,16 +9862,6 @@ object.assign@4.1.0:
has-symbols "^1.0.0"
object-keys "^1.0.11"
-object.assign@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
- object-keys "^1.1.1"
-
object.assign@^4.1.4:
version "4.1.4"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
@@ -10520,7 +9872,7 @@ object.assign@^4.1.4:
has-symbols "^1.0.3"
object-keys "^1.1.1"
-object.getownpropertydescriptors@^2.0.3:
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.1:
version "2.1.5"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz#db5a9002489b64eef903df81d6623c07e5b4b4d3"
integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==
@@ -10530,16 +9882,6 @@ object.getownpropertydescriptors@^2.0.3:
define-properties "^1.1.4"
es-abstract "^1.20.4"
-object.getownpropertydescriptors@^2.1.1:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37"
- integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==
- dependencies:
- array.prototype.reduce "^1.0.4"
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.1"
-
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
@@ -10589,9 +9931,9 @@ open@^7.4.2:
is-wsl "^2.1.1"
open@^8.4.0:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
- integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9"
+ integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
dependencies:
define-lazy-prop "^2.0.0"
is-docker "^2.1.1"
@@ -10653,16 +9995,16 @@ os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
-p-cancelable@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
- integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==
-
p-cancelable@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+p-cancelable@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
+ integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -10717,24 +10059,24 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
-p-map-series@^2.1.0:
+p-map-series@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2"
integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==
-p-map@^4.0.0:
+p-map@4.0.0, p-map@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
dependencies:
aggregate-error "^3.0.0"
-p-pipe@^3.1.0:
+p-pipe@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e"
integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==
-p-queue@^6.6.2:
+p-queue@6.6.2:
version "6.6.2"
resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426"
integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
@@ -10742,18 +10084,11 @@ p-queue@^6.6.2:
eventemitter3 "^4.0.4"
p-timeout "^3.2.0"
-p-reduce@^2.0.0, p-reduce@^2.1.0:
+p-reduce@2.1.0, p-reduce@^2.0.0, p-reduce@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a"
integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==
-p-timeout@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386"
- integrity sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==
- dependencies:
- p-finally "^1.0.0"
-
p-timeout@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
@@ -10771,17 +10106,17 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-p-waterfall@^2.1.1:
+p-waterfall@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee"
integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==
dependencies:
p-reduce "^2.0.0"
-pacote@^13.0.3, pacote@^13.0.5, pacote@^13.6.1:
- version "13.6.1"
- resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.1.tgz#ac6cbd9032b4c16e5c1e0c60138dfe44e4cc589d"
- integrity sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw==
+pacote@13.6.2, pacote@^13.6.1:
+ version "13.6.2"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a"
+ integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==
dependencies:
"@npmcli/git" "^3.0.0"
"@npmcli/installed-package-contents" "^1.0.7"
@@ -10805,6 +10140,30 @@ pacote@^13.0.3, pacote@^13.0.5, pacote@^13.6.1:
ssri "^9.0.0"
tar "^6.1.11"
+pacote@^15.0.0, pacote@^15.0.8:
+ version "15.1.1"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.1.1.tgz#94d8c6e0605e04d427610b3aacb0357073978348"
+ integrity sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==
+ dependencies:
+ "@npmcli/git" "^4.0.0"
+ "@npmcli/installed-package-contents" "^2.0.1"
+ "@npmcli/promise-spawn" "^6.0.1"
+ "@npmcli/run-script" "^6.0.0"
+ cacache "^17.0.0"
+ fs-minipass "^3.0.0"
+ minipass "^4.0.0"
+ npm-package-arg "^10.0.0"
+ npm-packlist "^7.0.0"
+ npm-pick-manifest "^8.0.0"
+ npm-registry-fetch "^14.0.0"
+ proc-log "^3.0.0"
+ promise-retry "^2.0.1"
+ read-package-json "^6.0.0"
+ read-package-json-fast "^3.0.0"
+ sigstore "^1.0.0"
+ ssri "^10.0.0"
+ tar "^6.1.11"
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -10823,13 +10182,13 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
-parse-conflict-json@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323"
- integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==
+parse-conflict-json@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c"
+ integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==
dependencies:
- json-parse-even-better-errors "^2.3.1"
- just-diff "^5.0.1"
+ json-parse-even-better-errors "^3.0.0"
+ just-diff "^6.0.0"
just-diff-apply "^5.2.0"
parse-headers@^2.0.0:
@@ -10862,22 +10221,19 @@ parse-json@^5.0.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
-parse-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-5.0.0.tgz#f933152f3c6d34f4cf36cfc3d07b138ac113649d"
- integrity sha512-qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==
+parse-path@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b"
+ integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==
dependencies:
protocols "^2.0.0"
-parse-url@^7.0.2:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-7.0.2.tgz#d21232417199b8d371c6aec0cedf1406fd6393f0"
- integrity sha512-PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==
+parse-url@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d"
+ integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==
dependencies:
- is-ssh "^1.4.0"
- normalize-url "^6.1.0"
- parse-path "^5.0.0"
- protocols "^2.0.1"
+ parse-path "^7.0.0"
parseurl@~1.3.3:
version "1.3.3"
@@ -10908,23 +10264,24 @@ patch-package@6.2.2:
tmp "^0.0.33"
patch-package@^6.2.2:
- version "6.4.7"
- resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148"
- integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.1.tgz#3e5d00c16997e6160291fee06a521c42ac99b621"
+ integrity sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==
dependencies:
"@yarnpkg/lockfile" "^1.1.0"
- chalk "^2.4.2"
+ chalk "^4.1.2"
cross-spawn "^6.0.5"
find-yarn-workspace-root "^2.0.0"
- fs-extra "^7.0.1"
+ fs-extra "^9.0.0"
is-ci "^2.0.0"
klaw-sync "^6.0.0"
- minimist "^1.2.0"
+ minimist "^1.2.6"
open "^7.4.2"
rimraf "^2.6.3"
semver "^5.6.0"
slash "^2.0.0"
tmp "^0.0.33"
+ yaml "^1.10.2"
path-browserify@^1.0.0:
version "1.0.1"
@@ -10968,6 +10325,14 @@ path-parse@^1.0.6, path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-scurry@^1.6.1:
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.6.4.tgz#020a9449e5382a4acb684f9c7e1283bc5695de66"
+ integrity sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==
+ dependencies:
+ lru-cache "^9.0.0"
+ minipass "^5.0.0"
+
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -11027,6 +10392,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+pify@5.0.0, pify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
+ integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
+
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -11042,11 +10412,6 @@ pify@^4.0.1:
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-pify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
- integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
-
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -11076,6 +10441,14 @@ posix-character-classes@^0.1.0:
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+postcss-selector-parser@^6.0.10:
+ version "6.0.11"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc"
+ integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
postinstall-postinstall@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3"
@@ -11096,11 +10469,6 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-prepend-http@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
- integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==
-
prepend-http@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
@@ -11114,23 +10482,27 @@ prettier-linter-helpers@^1.0.0:
fast-diff "^1.1.2"
prettier-plugin-solidity@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.2.tgz#452be4df925a4b16a974a04235839c9f56c2d10d"
- integrity sha512-KC5oNbFJfyBaFiO0kl56J6AXnDmr9tUlBV1iqo864x4KQrKYKaBZvW9jhT2oC0NHoNp7/GoMJNxqL8pp8k7C/g==
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz#9a35124f578404caf617634a8cab80862d726cba"
+ integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg==
dependencies:
- "@solidity-parser/parser" "^0.15.0"
+ "@solidity-parser/parser" "^0.16.0"
semver "^7.3.8"
solidity-comments-extractor "^0.0.7"
-prettier@^2.1.2:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
- integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+prettier@^2.1.2, prettier@^2.3.1, prettier@^2.8.4:
+ version "2.8.7"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450"
+ integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==
-prettier@^2.3.1, prettier@^2.8.4:
- version "2.8.4"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
- integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
+pretty-format@29.4.3:
+ version "29.4.3"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c"
+ integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==
+ dependencies:
+ "@jest/schemas" "^29.4.3"
+ ansi-styles "^5.0.0"
+ react-is "^18.0.0"
private@^0.1.6, private@^0.1.8:
version "0.1.8"
@@ -11142,6 +10514,11 @@ proc-log@^2.0.0, proc-log@^2.0.1:
resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685"
integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==
+proc-log@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8"
+ integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -11158,9 +10535,9 @@ promise-all-reject-late@^1.0.0:
integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==
promise-call-limit@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24"
- integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea"
+ integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==
promise-inflight@^1.0.1:
version "1.0.1"
@@ -11278,6 +10655,11 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
@@ -11342,9 +10724,9 @@ pull-pushable@^2.0.0:
integrity sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg==
pull-stream@^3.2.3, pull-stream@^3.4.0, pull-stream@^3.6.8:
- version "3.6.14"
- resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee"
- integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.7.0.tgz#85de0e44ff38a4d2ad08cc43fc458e1922f9bf0b"
+ integrity sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==
pull-window@^2.1.4:
version "2.1.4"
@@ -11372,29 +10754,29 @@ punycode@2.1.0:
integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==
punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
+ integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
q@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-qs@6.10.3:
- version "6.10.3"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
- integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
- dependencies:
- side-channel "^1.0.4"
-
-qs@6.11.0, qs@^6.7.0:
+qs@6.11.0:
version "6.11.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
dependencies:
side-channel "^1.0.4"
+qs@^6.7.0:
+ version "6.11.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f"
+ integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==
+ dependencies:
+ side-channel "^1.0.4"
+
qs@~6.5.2:
version "6.5.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
@@ -11424,6 +10806,11 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
radio-symbol@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/radio-symbol/-/radio-symbol-2.0.0.tgz#7aa9bfc50485636d52dd76d6a8e631b290799ae1"
@@ -11453,7 +10840,7 @@ range-parser@~1.2.1:
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-raw-body@2.5.1, raw-body@^2.4.1:
+raw-body@2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
@@ -11463,7 +10850,7 @@ raw-body@2.5.1, raw-body@^2.4.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
-raw-body@2.5.2:
+raw-body@2.5.2, raw-body@^2.4.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
@@ -11473,17 +10860,22 @@ raw-body@2.5.2:
iconv-lite "0.4.24"
unpipe "1.0.0"
-read-cmd-shim@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz#4a50a71d6f0965364938e9038476f7eede3928d9"
- integrity sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==
+react-is@^18.0.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
+ integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-read-cmd-shim@^3.0.0:
+read-cmd-shim@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155"
integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog==
-read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3:
+read-cmd-shim@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb"
+ integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==
+
+read-package-json-fast@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83"
integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==
@@ -11491,27 +10883,15 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3:
json-parse-even-better-errors "^2.3.0"
npm-normalize-package-bin "^1.0.1"
-read-package-json@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9"
- integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==
- dependencies:
- glob "^7.1.1"
- json-parse-even-better-errors "^2.3.0"
- normalize-package-data "^3.0.0"
- npm-normalize-package-bin "^1.0.0"
-
-read-package-json@^4.1.1:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.2.tgz#b444d047de7c75d4a160cb056d00c0693c1df703"
- integrity sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==
+read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049"
+ integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==
dependencies:
- glob "^7.1.1"
- json-parse-even-better-errors "^2.3.0"
- normalize-package-data "^3.0.0"
- npm-normalize-package-bin "^1.0.0"
+ json-parse-even-better-errors "^3.0.0"
+ npm-normalize-package-bin "^3.0.0"
-read-package-json@^5.0.0:
+read-package-json@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26"
integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==
@@ -11521,6 +10901,26 @@ read-package-json@^5.0.0:
normalize-package-data "^4.0.0"
npm-normalize-package-bin "^1.0.1"
+read-package-json@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa"
+ integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==
+ dependencies:
+ glob "^8.0.1"
+ json-parse-even-better-errors "^2.3.1"
+ normalize-package-data "^4.0.0"
+ npm-normalize-package-bin "^2.0.0"
+
+read-package-json@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.1.tgz#566cb06bc05dbddefba4607e9096d5a9efbcd836"
+ integrity sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==
+ dependencies:
+ glob "^9.3.0"
+ json-parse-even-better-errors "^3.0.0"
+ normalize-package-data "^5.0.0"
+ npm-normalize-package-bin "^3.0.0"
+
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
@@ -11574,7 +10974,7 @@ read-pkg@^5.2.0:
parse-json "^5.0.0"
type-fest "^0.6.0"
-read@1, read@~1.0.1:
+read@1, read@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==
@@ -11582,9 +10982,9 @@ read@1, read@~1.0.1:
mute-stream "~0.0.4"
readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
@@ -11601,9 +11001,9 @@ readable-stream@^1.0.33:
string_decoder "~0.10.x"
readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable-stream@^2.2.8, readable-stream@^2.2.9, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.7"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
- integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
+ integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -11613,6 +11013,16 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
+readable-stream@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba"
+ integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==
+ dependencies:
+ abort-controller "^3.0.0"
+ buffer "^6.0.3"
+ events "^3.3.0"
+ process "^0.11.10"
+
readable-stream@~1.0.15:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
@@ -11623,16 +11033,6 @@ readable-stream@~1.0.15:
isarray "0.0.1"
string_decoder "~0.10.x"
-readdir-scoped-modules@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309"
- integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==
- dependencies:
- debuglog "^1.0.1"
- dezalgo "^1.0.0"
- graceful-fs "^4.1.2"
- once "^1.3.0"
-
readdirp@~3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839"
@@ -11680,11 +11080,11 @@ rechoir@^0.6.2:
resolve "^1.1.6"
recursive-readdir@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f"
- integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372"
+ integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==
dependencies:
- minimatch "3.0.4"
+ minimatch "^3.0.5"
redent@^3.0.0:
version "3.0.0"
@@ -11735,11 +11135,6 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
-regexpp@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
- integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
regexpu-core@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
@@ -11834,6 +11229,11 @@ require-main-filename@^2.0.0:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+resolve-alpn@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
+ integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
+
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -11841,16 +11241,16 @@ resolve-cwd@^3.0.0:
dependencies:
resolve-from "^5.0.0"
+resolve-from@5.0.0, resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -11868,12 +11268,12 @@ resolve@1.17.0:
dependencies:
path-parse "^1.0.6"
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.8.1, resolve@~1.22.0:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
- integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.8.1, resolve@~1.22.1:
+ version "1.22.2"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
+ integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
dependencies:
- is-core-module "^2.9.0"
+ is-core-module "^2.11.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
@@ -11884,6 +11284,13 @@ responselike@^1.0.2:
dependencies:
lowercase-keys "^1.0.0"
+responselike@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc"
+ integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==
+ dependencies:
+ lowercase-keys "^2.0.0"
+
restore-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
@@ -11928,6 +11335,13 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+rimraf@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755"
+ integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==
+ dependencies:
+ glob "^9.2.0"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -11968,9 +11382,9 @@ rustbn.js@~0.2.0:
integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==
rxjs@^7.5.5:
- version "7.5.6"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc"
- integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
dependencies:
tslib "^2.1.0"
@@ -12075,22 +11489,22 @@ semver@7.3.4:
dependencies:
lru-cache "^6.0.0"
+semver@7.3.8:
+ version "7.3.8"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
+ integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+ dependencies:
+ lru-cache "^6.0.0"
+
semver@^6.0.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7:
- version "7.3.7"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
- integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@^7.3.8:
- version "7.3.8"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
- integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.4.0.tgz#8481c92feffc531ab1e012a8ffc15bdd3a0f4318"
+ integrity sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==
dependencies:
lru-cache "^6.0.0"
@@ -12256,11 +11670,20 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@3.0.7, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+sigstore@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.2.0.tgz#ae5b31dac75c2d31e7873897e2862f0d0b205bce"
+ integrity sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==
+ dependencies:
+ "@sigstore/protobuf-specs" "^0.1.0"
+ make-fetch-happen "^11.0.1"
+ tuf-js "^1.0.0"
+
simple-concat@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
@@ -12292,6 +11715,11 @@ sinon@^14.0.0:
nise "^5.1.2"
supports-color "^7.2.0"
+slash@3.0.0, slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@@ -12302,11 +11730,6 @@ slash@^2.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
slice-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
@@ -12351,24 +11774,6 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-socks-proxy-agent@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e"
- integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==
- dependencies:
- agent-base "^6.0.2"
- debug "4"
- socks "^2.3.3"
-
-socks-proxy-agent@^6.0.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce"
- integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==
- dependencies:
- agent-base "^6.0.2"
- debug "^4.3.3"
- socks "^2.6.2"
-
socks-proxy-agent@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6"
@@ -12378,10 +11783,10 @@ socks-proxy-agent@^7.0.0:
debug "^4.3.3"
socks "^2.6.2"
-socks@^2.3.3, socks@^2.6.2:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0"
- integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==
+socks@^2.6.2:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55"
+ integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==
dependencies:
ip "^2.0.0"
smart-buffer "^4.2.0"
@@ -12464,13 +11869,6 @@ sort-keys@^2.0.0:
dependencies:
is-plain-obj "^1.0.0"
-sort-keys@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18"
- integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==
- dependencies:
- is-plain-obj "^2.0.0"
-
source-map-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -12528,9 +11926,9 @@ source-map@~0.2.0:
amdefine ">=0.0.4"
spdx-correct@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
- integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c"
+ integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
@@ -12549,9 +11947,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
- integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
+ version "3.0.13"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5"
+ integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
@@ -12594,20 +11992,20 @@ sshpk@^1.7.0:
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
-ssri@^8.0.0, ssri@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af"
- integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==
- dependencies:
- minipass "^3.1.1"
-
-ssri@^9.0.0:
+ssri@9.0.1, ssri@^9.0.0:
version "9.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057"
integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==
dependencies:
minipass "^3.1.1"
+ssri@^10.0.0, ssri@^10.0.1:
+ version "10.0.3"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.3.tgz#7f83da39058ca1d599d174e9eee4237659710bf4"
+ integrity sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==
+ dependencies:
+ minipass "^4.0.0"
+
stacktrace-parser@^0.1.10:
version "0.1.10"
resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
@@ -12694,23 +12092,14 @@ string-width@^3.0.0, string-width@^3.1.0:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-string.prototype.trim@~1.2.5:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz#824960787db37a9e24711802ed0c1d1c0254f83e"
- integrity sha512-8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
-
-string.prototype.trimend@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0"
- integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==
+string.prototype.trim@^1.2.7, string.prototype.trim@~1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
+ integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.4"
- es-abstract "^1.19.5"
+ es-abstract "^1.20.4"
string.prototype.trimend@^1.0.6:
version "1.0.6"
@@ -12721,15 +12110,6 @@ string.prototype.trimend@^1.0.6:
define-properties "^1.1.4"
es-abstract "^1.20.4"
-string.prototype.trimstart@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef"
- integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.19.5"
-
string.prototype.trimstart@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
@@ -12837,7 +12217,7 @@ strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-strong-log-transformer@^2.1.0:
+strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10"
integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==
@@ -12897,15 +12277,15 @@ supports-preserve-symlinks-flag@^1.0.0:
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
swarm-js@^0.1.40:
- version "0.1.40"
- resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99"
- integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==
+ version "0.1.42"
+ resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979"
+ integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==
dependencies:
bluebird "^3.5.0"
buffer "^5.0.5"
eth-lib "^0.1.26"
fs-extra "^4.0.2"
- got "^7.1.0"
+ got "^11.8.5"
mime-types "^2.1.16"
mkdirp-promise "^5.0.1"
mock-fs "^4.1.0"
@@ -12924,9 +12304,9 @@ table-layout@^1.0.2:
wordwrapjs "^4.0.0"
table@^6.8.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
- integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
+ integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
dependencies:
ajv "^8.0.1"
lodash.truncate "^4.4.2"
@@ -12935,24 +12315,24 @@ table@^6.8.0:
strip-ansi "^6.0.1"
tape@^4.6.3:
- version "4.15.1"
- resolved "https://registry.yarnpkg.com/tape/-/tape-4.15.1.tgz#88fb662965a11f9be1bddb04c11662d7eceb129e"
- integrity sha512-k7F5pyr91n9D/yjSJwbLLYDCrTWXxMSXbbmHX2n334lSIc2rxeXyFkaBv4UuUd2gBYMrAOalPutAiCxC6q1qbw==
+ version "4.16.2"
+ resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.2.tgz#7565e6af20426565557266e9dda7215869b297b6"
+ integrity sha512-TUChV+q0GxBBCEbfCYkGLkv8hDJYjMdSWdE0/Lr331sB389dsvFUHNV9ph5iQqKzt8Ss9drzcda/YeexclBFqg==
dependencies:
call-bind "~1.0.2"
deep-equal "~1.1.1"
- defined "~1.0.0"
+ defined "~1.0.1"
dotignore "~0.1.2"
for-each "~0.3.3"
- glob "~7.2.0"
+ glob "~7.2.3"
has "~1.0.3"
inherits "~2.0.4"
is-regex "~1.1.4"
- minimist "~1.2.6"
- object-inspect "~1.12.0"
- resolve "~1.22.0"
+ minimist "~1.2.7"
+ object-inspect "~1.12.3"
+ resolve "~1.22.1"
resumer "~0.0.0"
- string.prototype.trim "~1.2.5"
+ string.prototype.trim "~1.2.7"
through "~2.3.8"
tar-stream@~2.2.0:
@@ -12966,6 +12346,18 @@ tar-stream@~2.2.0:
inherits "^2.0.3"
readable-stream "^3.1.1"
+tar@6.1.11:
+ version "6.1.11"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
+ integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^3.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
tar@^4.0.2:
version "4.4.19"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
@@ -12979,23 +12371,39 @@ tar@^4.0.2:
safe-buffer "^5.2.1"
yallist "^3.1.1"
-tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2:
- version "6.1.11"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
- integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
+tar@^6.1.11, tar@^6.1.2:
+ version "6.1.13"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b"
+ integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
- minipass "^3.0.0"
+ minipass "^4.0.0"
minizlib "^2.1.1"
mkdirp "^1.0.3"
yallist "^4.0.0"
-temp-dir@^1.0.0:
+temp-dir@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==
+temp-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
+ integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
+
+tempy@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.0.tgz#4f192b3ee3328a2684d0e3fc5c491425395aab65"
+ integrity sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==
+ dependencies:
+ del "^6.0.0"
+ is-stream "^2.0.0"
+ temp-dir "^2.0.0"
+ type-fest "^0.16.0"
+ unique-string "^2.0.0"
+
terminal-paginator@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/terminal-paginator/-/terminal-paginator-2.0.2.tgz#967e66056f28fe8f55ba7c1eebfb7c3ef371c1d3"
@@ -13053,7 +12461,7 @@ time-stamp@^1.0.1:
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
integrity sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==
-timed-out@^4.0.0, timed-out@^4.0.1:
+timed-out@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==
@@ -13146,22 +12554,15 @@ tough-cookie@~2.5.0:
psl "^1.1.28"
punycode "^2.1.1"
-tr46@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
- integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
- dependencies:
- punycode "^2.1.1"
-
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-treeverse@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca"
- integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A==
+treeverse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8"
+ integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==
trim-newlines@^3.0.0:
version "3.0.1"
@@ -13174,9 +12575,9 @@ trim-right@^1.0.1:
integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==
ts-command-line-args@^2.2.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.4.2.tgz#b4815b23c35f8a0159d4e69e01012d95690bc448"
- integrity sha512-mJLQQBOdyD4XI/ZWQY44PIdYde47JhV2xl380O7twPkTQ+Y5vFDHsk8LOeXKuz7dVY5aDCfAzRarNfSqtKOkQQ==
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.0.tgz#7eeed3a6937b2612ea08a0794cf9d43fbbea89c4"
+ integrity sha512-Ff7Xt04WWCjj/cmPO9eWTJX3qpBZWuPWyQYG1vnxJao+alWWYjwJBc5aYz3h5p5dE08A6AnpkgiCtP/0KXXBYw==
dependencies:
"@morgan-stanley/ts-mocking-bird" "^0.6.2"
chalk "^4.1.0"
@@ -13233,13 +12634,12 @@ ts-node@^10.9.1:
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
-tsconfig-paths@^3.9.0:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
- integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
+tsconfig-paths@^4.1.2:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c"
+ integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.1"
+ json5 "^2.2.2"
minimist "^1.2.6"
strip-bom "^3.0.0"
@@ -13248,10 +12648,10 @@ tslib@^1.8.1, tslib@^1.9.3:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.1.0, tslib@^2.3.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
- integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
+tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
tsort@0.0.1:
version "0.0.1"
@@ -13265,6 +12665,14 @@ tsutils@^3.21.0:
dependencies:
tslib "^1.8.1"
+tuf-js@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.3.tgz#db3aada70fbf91fd9def9ad255645eaf81309f69"
+ integrity sha512-jGYi5nG/kqgfTFQSdoN6PW9eIn+XRZqdXku+fSwNk6UpWIsWaV7pzAqPgFr85edOPhoyJDyBqCS+DCnHroMvrw==
+ dependencies:
+ "@tufjs/models" "1.0.2"
+ make-fetch-happen "^11.0.1"
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -13306,6 +12714,11 @@ type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5, type-detect@^4.0.8:
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+type-fest@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
+ integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
+
type-fest@^0.18.0:
version "0.18.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
@@ -13354,10 +12767,10 @@ type@^1.0.1:
resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-type@^2.5.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f"
- integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==
+type@^2.7.2:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
+ integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
typechain@^3.0.0:
version "3.0.0"
@@ -13388,6 +12801,15 @@ typechain@^8.1.1:
ts-command-line-args "^2.2.0"
ts-essentials "^7.0.1"
+typed-array-length@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
+ integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
+ dependencies:
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ is-typed-array "^1.1.9"
+
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -13400,10 +12822,15 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@^4.8.4:
- version "4.8.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
- integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
+"typescript@^3 || ^4":
+ version "4.9.5"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
+ integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+
+typescript@^5.0.4:
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
+ integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
typewise-core@^1.2, typewise-core@^1.2.0:
version "1.2.0"
@@ -13438,9 +12865,9 @@ typical@^5.2.0:
integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==
uglify-js@^3.1.4:
- version "3.16.3"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.3.tgz#94c7a63337ee31227a18d03b8a3041c210fd1f1d"
- integrity sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==
+ version "3.17.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"
+ integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==
ultron@~1.1.0:
version "1.1.1"
@@ -13462,10 +12889,10 @@ underscore@1.9.1:
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
-undici@^5.14.0, undici@^5.4.0:
- version "5.19.1"
- resolved "https://registry.yarnpkg.com/undici/-/undici-5.19.1.tgz#92b1fd3ab2c089b5a6bd3e579dcda8f1934ebf6d"
- integrity sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A==
+undici@^5.14.0:
+ version "5.21.2"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.2.tgz#329f628aaea3f1539a28b9325dccc72097d29acd"
+ integrity sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ==
dependencies:
busboy "^1.6.0"
@@ -13479,20 +12906,41 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+unique-filename@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2"
+ integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==
dependencies:
- unique-slug "^2.0.0"
+ unique-slug "^3.0.0"
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+unique-filename@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea"
+ integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==
+ dependencies:
+ unique-slug "^4.0.0"
+
+unique-slug@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9"
+ integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==
+ dependencies:
+ imurmurhash "^0.1.4"
+
+unique-slug@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3"
+ integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==
dependencies:
imurmurhash "^0.1.4"
+unique-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
+ integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+ dependencies:
+ crypto-random-string "^2.0.0"
+
universal-user-agent@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
@@ -13526,7 +12974,7 @@ unset-value@^1.0.0:
has-value "^0.3.1"
isobject "^3.0.0"
-upath@^2.0.1:
+upath@2.0.1, upath@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b"
integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==
@@ -13543,13 +12991,6 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
-url-parse-lax@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
- integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==
- dependencies:
- prepend-http "^1.0.1"
-
url-parse-lax@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
@@ -13562,11 +13003,6 @@ url-set-query@^1.0.0:
resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339"
integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==
-url-to-options@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
- integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==
-
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
@@ -13581,9 +13017,9 @@ use@^3.1.0:
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
utf-8-validate@^5.0.2:
- version "5.0.9"
- resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3"
- integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==
+ version "5.0.10"
+ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2"
+ integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==
dependencies:
node-gyp-build "^4.3.0"
@@ -13592,7 +13028,7 @@ utf8@3.0.0, utf8@^3.0.0:
resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1"
integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
@@ -13618,6 +13054,11 @@ uuid@3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+uuid@8.3.2, uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -13628,17 +13069,12 @@ uuid@^7.0.3:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
-v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3:
+v8-compile-cache@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
@@ -13648,7 +13084,7 @@ valid-url@^1.0.9:
resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==
-validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
+validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
@@ -13656,6 +13092,13 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+validate-npm-package-name@4.0.0, validate-npm-package-name@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747"
+ integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==
+ dependencies:
+ builtins "^5.0.0"
+
validate-npm-package-name@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
@@ -13663,10 +13106,10 @@ validate-npm-package-name@^3.0.0:
dependencies:
builtins "^1.0.3"
-validate-npm-package-name@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747"
- integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==
+validate-npm-package-name@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713"
+ integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==
dependencies:
builtins "^5.0.0"
@@ -13958,23 +13401,10 @@ web3-utils@1.2.11:
underscore "1.9.1"
utf8 "3.0.0"
-web3-utils@^1.0.0-beta.31:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.4.tgz#eb6fa3706b058602747228234453811bbee017f5"
- integrity sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA==
- dependencies:
- bn.js "^5.2.1"
- ethereum-bloom-filters "^1.0.6"
- ethereumjs-util "^7.1.0"
- ethjs-unit "0.1.6"
- number-to-bn "1.7.0"
- randombytes "^2.1.0"
- utf8 "3.0.0"
-
-web3-utils@^1.3.6:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.1.tgz#f2f7ca7eb65e6feb9f3d61056d0de6bbd57125ff"
- integrity sha512-LgnM9p6V7rHHUGfpMZod+NST8cRfGzJ1BTXAyNo7A9cJX9LczBfSRxJp+U/GInYe9mby40t3v22AJdlELibnsQ==
+web3-utils@^1.0.0-beta.31, web3-utils@^1.3.6:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.9.0.tgz#7c5775a47586cefb4ad488831be8f6627be9283d"
+ integrity sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==
dependencies:
bn.js "^5.2.1"
ethereum-bloom-filters "^1.0.6"
@@ -14002,11 +13432,6 @@ webidl-conversions@^3.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-webidl-conversions@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
- integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
-
websocket@1.0.32:
version "1.0.32"
resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1"
@@ -14044,15 +13469,6 @@ whatwg-url@^5.0.0:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
-whatwg-url@^8.4.0:
- version "8.7.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
- integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
- dependencies:
- lodash "^4.7.0"
- tr46 "^2.1.0"
- webidl-conversions "^6.1.0"
-
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
@@ -14074,6 +13490,18 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==
+which-typed-array@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
+ integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+ is-typed-array "^1.1.10"
+
which@1.3.1, which@^1.1.1, which@^1.2.9, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
@@ -14088,6 +13516,13 @@ which@^2.0.1, which@^2.0.2:
dependencies:
isexe "^2.0.0"
+which@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/which/-/which-3.0.0.tgz#a9efd016db59728758a390d23f1687b6e8f59f8e"
+ integrity sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==
+ dependencies:
+ isexe "^2.0.0"
+
wide-align@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -14169,6 +13604,14 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+write-file-atomic@4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
+ integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.7"
+
write-file-atomic@^2.4.2:
version "2.4.3"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
@@ -14178,20 +13621,10 @@ write-file-atomic@^2.4.2:
imurmurhash "^0.1.4"
signal-exit "^3.0.2"
-write-file-atomic@^3.0.0, write-file-atomic@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
- integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
- dependencies:
- imurmurhash "^0.1.4"
- is-typedarray "^1.0.0"
- signal-exit "^3.0.2"
- typedarray-to-buffer "^3.1.5"
-
-write-file-atomic@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
- integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
+write-file-atomic@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0"
+ integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==
dependencies:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
@@ -14208,19 +13641,7 @@ write-json-file@^3.2.0:
sort-keys "^2.0.0"
write-file-atomic "^2.4.2"
-write-json-file@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d"
- integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==
- dependencies:
- detect-indent "^6.0.0"
- graceful-fs "^4.1.15"
- is-plain-obj "^2.0.0"
- make-dir "^3.0.0"
- sort-keys "^4.0.0"
- write-file-atomic "^3.0.0"
-
-write-pkg@^4.0.0:
+write-pkg@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039"
integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==
@@ -14234,11 +13655,6 @@ ws@7.4.6:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
-ws@7.5.9, ws@^7.4.5, ws@^7.4.6:
- version "7.5.9"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
- integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-
ws@^3.0.0:
version "3.3.3"
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
@@ -14255,10 +13671,15 @@ ws@^5.1.1:
dependencies:
async-limiter "~1.0.0"
-ws@^8.12.1:
- version "8.12.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f"
- integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==
+ws@^7.4.1, ws@^7.4.5, ws@^7.4.6:
+ version "7.5.9"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
+ integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
+
+ws@^8.13.0:
+ version "8.13.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
+ integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
xhr-request-promise@^0.1.2:
version "0.1.3"
@@ -14339,7 +13760,7 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-yaml@^1.10.0:
+yaml@^1.10.0, yaml@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
@@ -14357,10 +13778,10 @@ yargs-parser@20.2.4:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
-yargs-parser@21.0.1, yargs-parser@^21.0.0:
- version "21.0.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
- integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+yargs-parser@21.1.1, yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs-parser@^2.4.1:
version "2.4.1"
@@ -14423,18 +13844,18 @@ yargs@16.2.0, yargs@^16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
-yargs@^17.4.0:
- version "17.5.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e"
- integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==
+yargs@^17.6.2:
+ version "17.7.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967"
+ integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==
dependencies:
- cliui "^7.0.2"
+ cliui "^8.0.1"
escalade "^3.1.1"
get-caller-file "^2.0.5"
require-directory "^2.1.1"
string-width "^4.2.3"
y18n "^5.0.5"
- yargs-parser "^21.0.0"
+ yargs-parser "^21.1.1"
yargs@^4.7.1:
version "4.8.1"