diff --git a/.solhint.json b/.solhint.json index b70c99b6..f4d6783b 100644 --- a/.solhint.json +++ b/.solhint.json @@ -4,6 +4,7 @@ "compiler-version": ["error", "^0.8.0"], "private-vars-leading-underscore": "error", "no-global-import": "off", + "gas-custom-errors": "off", "func-visibility": ["error", { "ignoreConstructors": true }] } } diff --git a/docgen/README.md b/docgen/README.md deleted file mode 100644 index e7b3744c..00000000 --- a/docgen/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# 1inch limit order protocol - -https://github.com/1inch/limit-order-protocol diff --git a/docgen/docs/LimitOrderProtocol.md b/docgen/docs/LimitOrderProtocol.md deleted file mode 100644 index 63e34775..00000000 --- a/docgen/docs/LimitOrderProtocol.md +++ /dev/null @@ -1,27 +0,0 @@ -# LimitOrderProtocol - - -1inch Limit Order Protocol v2 - - - -## Derives -- [OrderRFQMixin](OrderRFQMixin.md) -- [OrderMixin](OrderMixin.md) -- [Permitable](libraries/Permitable.md) -- [PredicateHelper](helpers/PredicateHelper.md) -- [NonceManager](helpers/NonceManager.md) -- [ChainlinkCalculator](helpers/ChainlinkCalculator.md) -- [AmountCalculator](helpers/AmountCalculator.md) -- [EIP712](https://docs.openzeppelin.com/contracts/3.x/api/utils/cryptography#draft-EIP712) - -## Functions -### DOMAIN_SEPARATOR -```solidity -function DOMAIN_SEPARATOR( -) external returns (bytes32) -``` - - - - diff --git a/docgen/docs/LimitOrderProtocolPro.md b/docgen/docs/LimitOrderProtocolPro.md deleted file mode 100644 index d014831f..00000000 --- a/docgen/docs/LimitOrderProtocolPro.md +++ /dev/null @@ -1,26 +0,0 @@ -# LimitOrderProtocolPro - - -1inch Pro Limit Order Protocol - - - -## Derives -- [OrderMixin](OrderMixin.md) -- [Permitable](libraries/Permitable.md) -- [PredicateHelper](helpers/PredicateHelper.md) -- [NonceManager](helpers/NonceManager.md) -- [ChainlinkCalculator](helpers/ChainlinkCalculator.md) -- [AmountCalculator](helpers/AmountCalculator.md) -- [EIP712](https://docs.openzeppelin.com/contracts/3.x/api/utils/cryptography#draft-EIP712) - -## Functions -### DOMAIN_SEPARATOR -```solidity -function DOMAIN_SEPARATOR( -) external returns (bytes32) -``` - - - - diff --git a/docgen/docs/OrderLib.md b/docgen/docs/OrderLib.md deleted file mode 100644 index d7180dca..00000000 --- a/docgen/docs/OrderLib.md +++ /dev/null @@ -1,135 +0,0 @@ -# OrderLib - - - - - - - -## Functions -### makerAssetData -```solidity -function makerAssetData( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### takerAssetData -```solidity -function takerAssetData( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### getMakingAmount -```solidity -function getMakingAmount( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### getTakingAmount -```solidity -function getTakingAmount( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### predicate -```solidity -function predicate( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### permit -```solidity -function permit( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### preInteraction -```solidity -function preInteraction( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### postInteraction -```solidity -function postInteraction( - struct OrderLib.Order order -) internal returns (bytes) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### hash -```solidity -function hash( - struct OrderLib.Order order -) internal returns (bytes32 result) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - diff --git a/docgen/docs/OrderMixin.md b/docgen/docs/OrderMixin.md deleted file mode 100644 index 354b7d82..00000000 --- a/docgen/docs/OrderMixin.md +++ /dev/null @@ -1,241 +0,0 @@ -# OrderMixin - - -Regular Limit Order mixin - - - -## Derives -- [Permitable](libraries/Permitable.md) -- [PredicateHelper](helpers/PredicateHelper.md) -- [NonceManager](helpers/NonceManager.md) -- [ChainlinkCalculator](helpers/ChainlinkCalculator.md) -- [AmountCalculator](helpers/AmountCalculator.md) -- [EIP712](https://docs.openzeppelin.com/contracts/3.x/api/utils/cryptography#draft-EIP712) - -## Functions -### remaining -```solidity -function remaining( - bytes32 orderHash -) external returns (uint256) -``` -Returns unfilled amount for order. Throws if order does not exist - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderHash` | bytes32 | - - -### remainingRaw -```solidity -function remainingRaw( - bytes32 orderHash -) external returns (uint256) -``` -Returns unfilled amount for order - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderHash` | bytes32 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Unfilled amount of order plus one if order exists. Otherwise 0 - -### remainingsRaw -```solidity -function remainingsRaw( - bytes32[] orderHashes -) external returns (uint256[]) -``` -Same as `remainingRaw` but for multiple orders - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderHashes` | bytes32[] | - - -### simulateCalls -```solidity -function simulateCalls( - address[] targets, - bytes[] data -) external -``` -Calls every target with corresponding data. Then reverts with CALL_RESULTS_0101011 where zeroes and ones -denote failure or success of the corresponding call - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`targets` | address[] | Array of addresses that will be called -|`data` | bytes[] | Array of data that will be passed to each call - - -### cancelOrder -```solidity -function cancelOrder( - struct OrderLib.Order order -) external -``` -Cancels order by setting remaining amount to zero - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### fillOrder -```solidity -function fillOrder( - struct OrderLib.Order order, - bytes signature, - bytes interaction, - uint256 makingAmount, - uint256 takingAmount, - uint256 thresholdAmount -) external returns (uint256, uint256) -``` -Fills an order. If one doesn't exist (first fill) it will be created using order.makerAssetData - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`interaction` | bytes | Making amount -|`makingAmount` | uint256 | Taking amount -|`takingAmount` | uint256 | Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount -|`thresholdAmount` | uint256 | - - -### fillOrderToWithPermit -```solidity -function fillOrderToWithPermit( - struct OrderLib.Order order, - bytes signature, - bytes interaction, - uint256 makingAmount, - uint256 takingAmount, - uint256 thresholdAmount, - address target, - bytes permit -) external returns (uint256, uint256) -``` -Same as `fillOrder` but calls permit first, -allowing to approve token spending and make a swap in one transaction. -Also allows to specify funds destination instead of `msg.sender` - -See tests for examples -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`interaction` | bytes | Making amount -|`makingAmount` | uint256 | Taking amount -|`takingAmount` | uint256 | Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount -|`thresholdAmount` | uint256 | Address that will receive swap funds -|`target` | address | Should consist of abiencoded token address and encoded `IERC20Permit.permit` call. -|`permit` | bytes | - - -### fillOrderTo -```solidity -function fillOrderTo( - struct OrderLib.Order order_, - bytes signature, - bytes interaction, - uint256 makingAmount, - uint256 takingAmount, - uint256 thresholdAmount, - address target -) public returns (uint256, uint256) -``` -Same as `fillOrder` but allows to specify funds destination instead of `msg.sender` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order_` | struct OrderLib.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`interaction` | bytes | Making amount -|`makingAmount` | uint256 | Taking amount -|`takingAmount` | uint256 | Specifies maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount -|`thresholdAmount` | uint256 | Address that will receive swap funds -|`target` | address | - - -### checkPredicate -```solidity -function checkPredicate( - struct OrderLib.Order order -) public returns (bool) -``` -Checks order predicate - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -### hashOrder -```solidity -function hashOrder( - struct OrderLib.Order order -) public returns (bytes32) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderLib.Order | - - -## Events -### OrderFilled -```solidity -event OrderFilled( - address maker, - bytes32 orderHash, - uint256 remaining -) -``` -Emitted every time order gets filled, including partial fills - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`maker` | address | -|`orderHash` | bytes32 | -|`remaining` | uint256 | - -### OrderCanceled -```solidity -event OrderCanceled( - address maker, - bytes32 orderHash, - uint256 remainingRaw -) -``` -Emitted when order gets cancelled - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`maker` | address | -|`orderHash` | bytes32 | -|`remainingRaw` | uint256 | - diff --git a/docgen/docs/OrderRFQMixin.md b/docgen/docs/OrderRFQMixin.md deleted file mode 100644 index c7d5128b..00000000 --- a/docgen/docs/OrderRFQMixin.md +++ /dev/null @@ -1,135 +0,0 @@ -# OrderRFQMixin - - -RFQ Limit Order mixin - - - -## Derives -- [Permitable](libraries/Permitable.md) -- [AmountCalculator](helpers/AmountCalculator.md) -- [EIP712](https://docs.openzeppelin.com/contracts/3.x/api/utils/cryptography#draft-EIP712) - -## Functions -### invalidatorForOrderRFQ -```solidity -function invalidatorForOrderRFQ( - address maker, - uint256 slot -) external returns (uint256) -``` -Returns bitmask for double-spend invalidators based on lowest byte of order.info and filled quotes - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`maker` | address | -|`slot` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Each bit represents whether corresponding was already invalidated - -### cancelOrderRFQ -```solidity -function cancelOrderRFQ( - uint256 orderInfo -) external -``` -Cancels order's quote - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderInfo` | uint256 | - - -### fillOrderRFQ -```solidity -function fillOrderRFQ( - struct OrderRFQMixin.Order order, - bytes signature, - uint256 makingAmount, - uint256 takingAmount -) external returns (uint256, uint256) -``` -Fills order's quote, fully or partially (whichever is possible) - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderRFQMixin.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`makingAmount` | uint256 | Making amount -|`takingAmount` | uint256 | Taking amount - - -### fillOrderRFQToWithPermit -```solidity -function fillOrderRFQToWithPermit( - struct OrderRFQMixin.Order order, - bytes signature, - uint256 makingAmount, - uint256 takingAmount, - address target, - bytes permit -) external returns (uint256, uint256) -``` -Fills Same as `fillOrderRFQ` but calls permit first, -allowing to approve token spending and make a swap in one transaction. -Also allows to specify funds destination instead of `msg.sender` - -See tests for examples -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderRFQMixin.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`makingAmount` | uint256 | Making amount -|`takingAmount` | uint256 | Taking amount -|`target` | address | Address that will receive swap funds -|`permit` | bytes | Should consist of abiencoded token address and encoded `IERC20Permit.permit` call. - - -### fillOrderRFQTo -```solidity -function fillOrderRFQTo( - struct OrderRFQMixin.Order order, - bytes signature, - uint256 makingAmount, - uint256 takingAmount, - address target -) public returns (uint256, uint256) -``` -Same as `fillOrderRFQ` but allows to specify funds destination instead of `msg.sender` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`order` | struct OrderRFQMixin.Order | Order quote to fill -|`signature` | bytes | Signature to confirm quote ownership -|`makingAmount` | uint256 | Making amount -|`takingAmount` | uint256 | Taking amount -|`target` | address | Address that will receive swap funds - - -## Events -### OrderFilledRFQ -```solidity -event OrderFilledRFQ( - bytes32 orderHash, - uint256 makingAmount -) -``` -Emitted when RFQ gets filled - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderHash` | bytes32 | -|`makingAmount` | uint256 | - diff --git a/docgen/docs/README.md b/docgen/docs/README.md deleted file mode 100644 index e7b3744c..00000000 --- a/docgen/docs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# 1inch limit order protocol - -https://github.com/1inch/limit-order-protocol diff --git a/docgen/docs/SUMMARY.md b/docgen/docs/SUMMARY.md deleted file mode 100644 index 55bee6aa..00000000 --- a/docgen/docs/SUMMARY.md +++ /dev/null @@ -1,35 +0,0 @@ -# Table of contents - -* [Main Readme](README.md) -* [helpers](helpers/README.md) - * [AmountCalculator](helpers/AmountCalculator.md) - * [ChainlinkCalculator](helpers/ChainlinkCalculator.md) - * [ERC1155Proxy](helpers/ERC1155Proxy.md) - * [ERC721Proxy](helpers/ERC721Proxy.md) - * [ERC721ProxySafe](helpers/ERC721ProxySafe.md) - * [ImmutableOwner](helpers/ImmutableOwner.md) - * [NonceManager](helpers/NonceManager.md) - * [PredicateHelper](helpers/PredicateHelper.md) - * [SeriesNonceManager](helpers/SeriesNonceManager.md) - * [WethUnwrapper](helpers/WethUnwrapper.md) -* [interfaces](interfaces/README.md) - * [IDaiLikePermit](interfaces/IDaiLikePermit.md) - * [IWithdrawable](interfaces/IWithdrawable.md) - * [Interaction](interfaces/Interaction.md) - * [PostInteraction](interfaces/PostInteraction.md) - * [PreInteraction](interfaces/PreInteraction.md) -* [libraries](libraries/README.md) - * [ArgumentsDecoder](libraries/ArgumentsDecoder.md) - * [Permitable](libraries/Permitable.md) - * [RevertReasonParser](libraries/RevertReasonParser.md) -* [mocks](mocks/README.md) - * [AggregatorMock](mocks/AggregatorMock.md) - * [TokenMock](mocks/TokenMock.md) - * [WrappedTokenMock](mocks/WrappedTokenMock.md) -* [tests](tests/README.md) - * [ArgumentsDecoderTest](tests/ArgumentsDecoderTest.md) -* [LimitOrderProtocol](LimitOrderProtocol.md) -* [LimitOrderProtocolPro](LimitOrderProtocolPro.md) -* [OrderLib](OrderLib.md) -* [OrderMixin](OrderMixin.md) -* [OrderRFQMixin](OrderRFQMixin.md) diff --git a/docgen/docs/helpers/AmountCalculator.md b/docgen/docs/helpers/AmountCalculator.md deleted file mode 100644 index 8fb1fd14..00000000 --- a/docgen/docs/helpers/AmountCalculator.md +++ /dev/null @@ -1,76 +0,0 @@ -# AmountCalculator - - -A helper contract for calculations related to order amounts - - - - -## Functions -### getMakingAmount -```solidity -function getMakingAmount( - uint256 orderMakerAmount, - uint256 orderTakerAmount, - uint256 swapTakerAmount -) public returns (uint256) -``` -Calculates maker amount - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderMakerAmount` | uint256 | -|`orderTakerAmount` | uint256 | -|`swapTakerAmount` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Floored maker amount - -### getTakingAmount -```solidity -function getTakingAmount( - uint256 orderMakerAmount, - uint256 orderTakerAmount, - uint256 swapMakerAmount -) public returns (uint256) -``` -Calculates taker amount - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`orderMakerAmount` | uint256 | -|`orderTakerAmount` | uint256 | -|`swapMakerAmount` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Ceiled taker amount - -### arbitraryStaticCall -```solidity -function arbitraryStaticCall( - address target, - bytes data -) external returns (uint256) -``` -Performs an arbitrary call to target with data - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`target` | address | -|`data` | bytes | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Bytes transmuted to uint256 - diff --git a/docgen/docs/helpers/ChainlinkCalculator.md b/docgen/docs/helpers/ChainlinkCalculator.md deleted file mode 100644 index 62d68e50..00000000 --- a/docgen/docs/helpers/ChainlinkCalculator.md +++ /dev/null @@ -1,59 +0,0 @@ -# ChainlinkCalculator - - -A helper contract for interactions with https://docs.chain.link - - - - -## Functions -### singlePrice -```solidity -function singlePrice( - contract AggregatorV3Interface oracle, - uint256 inverseAndSpread, - uint256 amount -) external returns (uint256) -``` -Calculates price of token relative to oracle unit (ETH or USD) - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`oracle` | contract AggregatorV3Interface | concatenated inverse flag and spread. Lowest 254 bits specify spread amount. Spread is scaled by 1e9, i.e. 101% = 1.01e9, 99% = 0.99e9. Highest bit is set when oracle price should be inverted, e.g. for DAI-ETH oracle, inverse=false means that we request DAI price in ETH and inverse=true means that we request ETH price in DAI -|`inverseAndSpread` | uint256 | -|`amount` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Amount`| uint256 | * spread * oracle price - -### doublePrice -```solidity -function doublePrice( - contract AggregatorV3Interface oracle1, - contract AggregatorV3Interface oracle2, - uint256 spread, - int256 decimalsScale, - uint256 amount -) external returns (uint256) -``` -Calculates price of token A relative to token B. Note that order is important - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`oracle1` | contract AggregatorV3Interface | -|`oracle2` | contract AggregatorV3Interface | -|`spread` | uint256 | -|`decimalsScale` | int256 | -|`amount` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| uint256 | Token A relative price times amount - diff --git a/docgen/docs/helpers/ERC1155Proxy.md b/docgen/docs/helpers/ERC1155Proxy.md deleted file mode 100644 index dfd90032..00000000 --- a/docgen/docs/helpers/ERC1155Proxy.md +++ /dev/null @@ -1,49 +0,0 @@ -# ERC1155Proxy - - - - - - -## Derives -- [ImmutableOwner](helpers/ImmutableOwner.md) - -## Functions -### constructor -```solidity -function constructor( - address _immutableOwner -) public -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`_immutableOwner` | address | - - -### func_301JL5R -```solidity -function func_301JL5R( - address from, - address to, - uint256 amount, - contract IERC1155 token, - uint256 tokenId, - bytes data -) external -``` -Proxy transfer method for `IERC1155.safeTransferFrom`. Selector must match `IERC20.transferFrom` - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`from` | address | -|`to` | address | -|`amount` | uint256 | -|`token` | contract IERC1155 | -|`tokenId` | uint256 | -|`data` | bytes | - - diff --git a/docgen/docs/helpers/ERC721Proxy.md b/docgen/docs/helpers/ERC721Proxy.md deleted file mode 100644 index 515f8de2..00000000 --- a/docgen/docs/helpers/ERC721Proxy.md +++ /dev/null @@ -1,48 +0,0 @@ -# ERC721Proxy - - - - - - -## Derives -- [ImmutableOwner](helpers/ImmutableOwner.md) - -## Functions -### constructor -```solidity -function constructor( - address _immutableOwner -) public -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`_immutableOwner` | address | - - -### func_60iHVgK -```solidity -function func_60iHVgK( - address from, - address to, - uint256 , - uint256 tokenId, - contract IERC721 token -) external -``` -Proxy transfer method for `IERC721.transferFrom`. Selector must match `IERC20.transferFrom`. -Note that `amount` is unused for security reasons to prevent unintended ERC-721 token sale via partial fill - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`from` | address | -|`to` | address | -|`` | uint256 | -|`tokenId` | uint256 | -|`token` | contract IERC721 | - - diff --git a/docgen/docs/helpers/ERC721ProxySafe.md b/docgen/docs/helpers/ERC721ProxySafe.md deleted file mode 100644 index a5695414..00000000 --- a/docgen/docs/helpers/ERC721ProxySafe.md +++ /dev/null @@ -1,48 +0,0 @@ -# ERC721ProxySafe - - - - - - -## Derives -- [ImmutableOwner](helpers/ImmutableOwner.md) - -## Functions -### constructor -```solidity -function constructor( - address _immutableOwner -) public -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`_immutableOwner` | address | - - -### func_60iHVgK -```solidity -function func_60iHVgK( - address from, - address to, - uint256 , - uint256 tokenId, - contract IERC721 token -) external -``` -Proxy transfer method for `IERC721.transferFrom`. Selector must match `IERC20.transferFrom`. -Note that `amount` is unused for security reasons to prevent unintended ERC-721 token sale via partial fill - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`from` | address | -|`to` | address | -|`` | uint256 | -|`tokenId` | uint256 | -|`token` | contract IERC721 | - - diff --git a/docgen/docs/helpers/ImmutableOwner.md b/docgen/docs/helpers/ImmutableOwner.md deleted file mode 100644 index a9cfd2bb..00000000 --- a/docgen/docs/helpers/ImmutableOwner.md +++ /dev/null @@ -1,23 +0,0 @@ -# ImmutableOwner - - -A helper contract with helper modifiers to allow access to original contract creator only - - - - -## Functions -### constructor -```solidity -function constructor( - address _immutableOwner -) public -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`_immutableOwner` | address | - - diff --git a/docgen/docs/helpers/NonceManager.md b/docgen/docs/helpers/NonceManager.md deleted file mode 100644 index 42e271dc..00000000 --- a/docgen/docs/helpers/NonceManager.md +++ /dev/null @@ -1,69 +0,0 @@ -# NonceManager - - -A helper contract for managing nonce of tx sender - - - - -## Functions -### increaseNonce -```solidity -function increaseNonce( -) external -``` -Advances nonce by one - - - -### advanceNonce -```solidity -function advanceNonce( - uint8 amount -) public -``` -Advances nonce by specified amount - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`amount` | uint8 | - - -### nonceEquals -```solidity -function nonceEquals( - address makerAddress, - uint256 makerNonce -) external returns (bool) -``` -Checks if `makerAddress` has specified `makerNonce` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`makerAddress` | address | -|`makerNonce` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if `makerAddress` has specified nonce. Otherwise, false - -## Events -### NonceIncreased -```solidity -event NonceIncreased( - address maker, - uint256 newNonce -) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`maker` | address | -|`newNonce` | uint256 | - diff --git a/docgen/docs/helpers/PredicateHelper.md b/docgen/docs/helpers/PredicateHelper.md deleted file mode 100644 index 907a8fad..00000000 --- a/docgen/docs/helpers/PredicateHelper.md +++ /dev/null @@ -1,139 +0,0 @@ -# PredicateHelper - - -A helper contract for executing boolean functions on arbitrary target call results - - - - -## Functions -### or -```solidity -function or( - address[] targets, - bytes[] data -) external returns (bool) -``` -Calls every target with corresponding data - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`targets` | address[] | -|`data` | bytes[] | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if call to any target returned True. Otherwise, false - -### and -```solidity -function and( - address[] targets, - bytes[] data -) external returns (bool) -``` -Calls every target with corresponding data - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`targets` | address[] | -|`data` | bytes[] | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if calls to all targets returned True. Otherwise, false - -### eq -```solidity -function eq( - uint256 value, - address target, - bytes data -) external returns (bool) -``` -Calls target with specified data and tests if it's equal to the value - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`value` | uint256 | Value to test -|`target` | address | -|`data` | bytes | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if call to target returns the same value as `value`. Otherwise, false - -### lt -```solidity -function lt( - uint256 value, - address target, - bytes data -) external returns (bool) -``` -Calls target with specified data and tests if it's lower than value - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`value` | uint256 | Value to test -|`target` | address | -|`data` | bytes | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if call to target returns value which is lower than `value`. Otherwise, false - -### gt -```solidity -function gt( - uint256 value, - address target, - bytes data -) external returns (bool) -``` -Calls target with specified data and tests if it's bigger than value - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`value` | uint256 | Value to test -|`target` | address | -|`data` | bytes | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if call to target returns value which is bigger than `value`. Otherwise, false - -### timestampBelow -```solidity -function timestampBelow( - uint256 time -) external returns (bool) -``` -Checks passed time against block timestamp - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`time` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if current block timestamp is lower than `time`. Otherwise, false - diff --git a/docgen/docs/helpers/README.md b/docgen/docs/helpers/README.md deleted file mode 100644 index cfd2b3fc..00000000 --- a/docgen/docs/helpers/README.md +++ /dev/null @@ -1 +0,0 @@ -# helpers diff --git a/docgen/docs/helpers/SeriesNonceManager.md b/docgen/docs/helpers/SeriesNonceManager.md deleted file mode 100644 index fb4ee73a..00000000 --- a/docgen/docs/helpers/SeriesNonceManager.md +++ /dev/null @@ -1,80 +0,0 @@ -# SeriesNonceManager - - -A helper contract to manage nonce with the series - - - - -## Functions -### increaseNonce -```solidity -function increaseNonce( - uint8 series -) external -``` -Advances nonce by one - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`series` | uint8 | - - -### advanceNonce -```solidity -function advanceNonce( - uint8 series, - uint8 amount -) public -``` -Advances nonce by specified amount - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`series` | uint8 | -|`amount` | uint8 | - - -### nonceEquals -```solidity -function nonceEquals( - uint8 series, - address makerAddress, - uint256 makerNonce -) external returns (bool) -``` -Checks if `makerAddress` has specified `makerNonce` for `series` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`series` | uint8 | -|`makerAddress` | address | -|`makerNonce` | uint256 | - -#### Return Values: -| Name | Type | Description | -| :----------------------------- | :------------ | :--------------------------------------------------------------------------- | -|`Result`| bool | True if `makerAddress` has specified nonce. Otherwise, false - -## Events -### NonceIncreased -```solidity -event NonceIncreased( - address maker, - uint8 series, - uint256 newNonce -) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`maker` | address | -|`series` | uint8 | -|`newNonce` | uint256 | - diff --git a/docgen/docs/helpers/WethUnwrapper.md b/docgen/docs/helpers/WethUnwrapper.md deleted file mode 100644 index 1472bec5..00000000 --- a/docgen/docs/helpers/WethUnwrapper.md +++ /dev/null @@ -1,44 +0,0 @@ -# WethUnwrapper - - - - - - -## Derives -- PostInteraction - -## Functions -### receive -```solidity -function receive( -) external -``` - - - - -### postInteraction -```solidity -function postInteraction( - address , - address , - address takerAsset, - uint256 , - uint256 takingAmount, - bytes interactiveData -) external -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`` | address | -|`` | address | -|`takerAsset` | address | -|`` | uint256 | -|`takingAmount` | uint256 | -|`interactiveData` | bytes | - - diff --git a/docgen/docs/interfaces/IDaiLikePermit.md b/docgen/docs/interfaces/IDaiLikePermit.md deleted file mode 100644 index ba5432e4..00000000 --- a/docgen/docs/interfaces/IDaiLikePermit.md +++ /dev/null @@ -1,37 +0,0 @@ -# IDaiLikePermit - - -Interface for DAI-style permits - - - - -## Functions -### permit -```solidity -function permit( - address holder, - address spender, - uint256 nonce, - uint256 expiry, - bool allowed, - uint8 v, - bytes32 r, - bytes32 s -) external -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`holder` | address | -|`spender` | address | -|`nonce` | uint256 | -|`expiry` | uint256 | -|`allowed` | bool | -|`v` | uint8 | -|`r` | bytes32 | -|`s` | bytes32 | - - diff --git a/docgen/docs/interfaces/IWithdrawable.md b/docgen/docs/interfaces/IWithdrawable.md deleted file mode 100644 index ef8d2727..00000000 --- a/docgen/docs/interfaces/IWithdrawable.md +++ /dev/null @@ -1,23 +0,0 @@ -# IWithdrawable - - - - - - - -## Functions -### withdraw -```solidity -function withdraw( - uint256 wad -) external -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`wad` | uint256 | - - diff --git a/docgen/docs/interfaces/InteractionNotificationReceiver.md b/docgen/docs/interfaces/InteractionNotificationReceiver.md deleted file mode 100644 index 4740a356..00000000 --- a/docgen/docs/interfaces/InteractionNotificationReceiver.md +++ /dev/null @@ -1,33 +0,0 @@ -# Interaction - - - - - - - -## Functions -### fillOrderInteraction -```solidity -function fillOrderInteraction( - address taker, - address makerAsset, - address takerAsset, - uint256 makingAmount, - uint256 takingAmount, - bytes interactiveData -) external -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`taker` | address | -|`makerAsset` | address | -|`takerAsset` | address | -|`makingAmount` | uint256 | -|`takingAmount` | uint256 | -|`interactiveData` | bytes | - - diff --git a/docgen/docs/interfaces/PostInteractionNotificationReceiver.md b/docgen/docs/interfaces/PostInteractionNotificationReceiver.md deleted file mode 100644 index a851d091..00000000 --- a/docgen/docs/interfaces/PostInteractionNotificationReceiver.md +++ /dev/null @@ -1,34 +0,0 @@ -# PostInteraction - - - - - - - -## Functions -### postInteraction -```solidity -function postInteraction( - address taker, - address makerAsset, - address takerAsset, - uint256 makingAmount, - uint256 takingAmount, - bytes interactiveData -) external -``` -Callback method that gets called after taker transferred funds to maker but before -the opposite transfer happened - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`taker` | address | -|`makerAsset` | address | -|`takerAsset` | address | -|`makingAmount` | uint256 | -|`takingAmount` | uint256 | -|`interactiveData` | bytes | - - diff --git a/docgen/docs/interfaces/PreInteractionNotificationReceiver.md b/docgen/docs/interfaces/PreInteractionNotificationReceiver.md deleted file mode 100644 index a80e3690..00000000 --- a/docgen/docs/interfaces/PreInteractionNotificationReceiver.md +++ /dev/null @@ -1,33 +0,0 @@ -# PreInteraction - - -Interface for interactor which acts between `maker => taker` and `taker => maker` transfers. - - - - -## Functions -### preInteraction -```solidity -function preInteraction( - address taker, - address makerAsset, - address takerAsset, - uint256 makingAmount, - uint256 takingAmount, - bytes interactiveData -) external -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`taker` | address | -|`makerAsset` | address | -|`takerAsset` | address | -|`makingAmount` | uint256 | -|`takingAmount` | uint256 | -|`interactiveData` | bytes | - - diff --git a/docgen/docs/interfaces/README.md b/docgen/docs/interfaces/README.md deleted file mode 100644 index abd20f46..00000000 --- a/docgen/docs/interfaces/README.md +++ /dev/null @@ -1 +0,0 @@ -# interfaces diff --git a/docgen/docs/libraries/ArgumentsDecoder.md b/docgen/docs/libraries/ArgumentsDecoder.md deleted file mode 100644 index 59b8fe69..00000000 --- a/docgen/docs/libraries/ArgumentsDecoder.md +++ /dev/null @@ -1,79 +0,0 @@ -# ArgumentsDecoder - - -Library with gas efficient alternatives to `abi.decode` - - - - -## Functions -### decodeUint256Memory -```solidity -function decodeUint256Memory( - bytes data -) internal returns (uint256 value) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | - - -### decodeUint256 -```solidity -function decodeUint256( - bytes data -) internal returns (uint256 value) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | - - -### decodeBoolMemory -```solidity -function decodeBoolMemory( - bytes data -) internal returns (bool value) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | - - -### decodeBool -```solidity -function decodeBool( - bytes data -) internal returns (bool value) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | - - -### decodeTargetAndCalldata -```solidity -function decodeTargetAndCalldata( - bytes data -) internal returns (address target, bytes args) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | - - diff --git a/docgen/docs/libraries/Permitable.md b/docgen/docs/libraries/Permitable.md deleted file mode 100644 index 63aa4e5e..00000000 --- a/docgen/docs/libraries/Permitable.md +++ /dev/null @@ -1,25 +0,0 @@ -# Permitable - - -Base contract with common permit handling logics - - - - -## Functions -### _permit -```solidity -function _permit( - address token, - bytes permit -) internal -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`token` | address | -|`permit` | bytes | - - diff --git a/docgen/docs/libraries/README.md b/docgen/docs/libraries/README.md deleted file mode 100644 index 19a90377..00000000 --- a/docgen/docs/libraries/README.md +++ /dev/null @@ -1 +0,0 @@ -# libraries diff --git a/docgen/docs/libraries/RevertReasonParser.md b/docgen/docs/libraries/RevertReasonParser.md deleted file mode 100644 index aef80a55..00000000 --- a/docgen/docs/libraries/RevertReasonParser.md +++ /dev/null @@ -1,30 +0,0 @@ -# RevertReasonParser - - -Library that allows to parse unsuccessful arbitrary calls revert reasons. -See https://solidity.readthedocs.io/en/latest/control-structures.html#revert for details. -Note that we assume revert reason being abi-encoded as Error(string) so it may fail to parse reason -if structured reverts appear in the future. - -All unsuccessful parsings get encoded as Unknown(data) string - - - - -## Functions -### parse -```solidity -function parse( - bytes data, - string prefix -) internal returns (string) -``` - - -#### Parameters: -| Name | Type | Description | -| :--- | :--- | :------------------------------------------------------------------- | -|`data` | bytes | -|`prefix` | string | - - diff --git a/docs/LimitOrderProtocol.md b/docs/LimitOrderProtocol.md new file mode 100644 index 00000000..4e0cc535 --- /dev/null +++ b/docs/LimitOrderProtocol.md @@ -0,0 +1,57 @@ + +## LimitOrderProtocol + +Limit order protocol provides two different order types +- Regular Limit Order +- RFQ Order + +Both types provide similar order-fulfilling functionality. The difference is that regular order offers more customization options and features, while RFQ order is extremely gas efficient but without ability to customize. + +Regular limit order additionally supports +- Execution predicates. Conditions for order execution are set with predicates. For example, expiration timestamp or block number, price for stop loss or take profit strategies. +- Callbacks to notify maker on order execution + +See [OrderMixin](OrderMixin.md) for more details. + +RFQ orders supports +- Expiration time +- Cancelation by order id +- Partial Fill (only once) + +See [OrderMixin](OrderMixin.md) for more details. + +### Functions list +- [constructor(_weth) public](#constructor) +- [DOMAIN_SEPARATOR() external](#domain_separator) +- [pause() external](#pause) +- [unpause() external](#unpause) + +### Functions +### constructor + +```solidity +constructor(contract IWETH _weth) public +``` + +### DOMAIN_SEPARATOR + +```solidity +function DOMAIN_SEPARATOR() external view returns (bytes32) +``` + +_Returns the domain separator for the current chain (EIP-712)_ + +### pause + +```solidity +function pause() external +``` +Pauses all the trading functionality in the contract. + +### unpause + +```solidity +function unpause() external +``` +Unpauses all the trading functionality in the contract. + diff --git a/docs/OrderLib.md b/docs/OrderLib.md new file mode 100644 index 00000000..105edad0 --- /dev/null +++ b/docs/OrderLib.md @@ -0,0 +1,159 @@ + +## OrderLib + +_The library provides common functionality for processing and manipulating limit orders. +It provides functionality to calculate and verify order hashes, calculate trade amounts, and validate +extension data associated with orders. The library also contains helper methods to get the receiver of +an order and call getter functions._ + +### Functions list +- [hash(order, domainSeparator) internal](#hash) +- [getReceiver(order) internal](#getreceiver) +- [calculateMakingAmount(order, extension, requestedTakingAmount, remainingMakingAmount, orderHash) internal](#calculatemakingamount) +- [calculateTakingAmount(order, extension, requestedMakingAmount, remainingMakingAmount, orderHash) internal](#calculatetakingamount) +- [isValidExtension(order, extension) internal](#isvalidextension) + +### Errors list +- [MissingOrderExtension() ](#missingorderextension) +- [UnexpectedOrderExtension() ](#unexpectedorderextension) +- [InvalidExtensionHash() ](#invalidextensionhash) + +### Functions +### hash + +```solidity +function hash(struct IOrderMixin.Order order, bytes32 domainSeparator) internal pure returns (bytes32 result) +``` +Calculates the hash of an order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order to be hashed. | +| domainSeparator | bytes32 | The domain separator to be used for the EIP-712 hashing. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +result | bytes32 | The keccak256 hash of the order data. | + +### getReceiver + +```solidity +function getReceiver(struct IOrderMixin.Order order) internal pure returns (address) +``` +Returns the receiver address for an order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | address | receiver The address of the receiver, either explicitly defined in the order or the maker's address if not specified. | + +### calculateMakingAmount + +```solidity +function calculateMakingAmount(struct IOrderMixin.Order order, bytes extension, uint256 requestedTakingAmount, uint256 remainingMakingAmount, bytes32 orderHash) internal view returns (uint256) +``` +Calculates the making amount based on the requested taking amount. + +_If getter is specified in the extension data, the getter is called to calculate the making amount, +otherwise the making amount is calculated linearly._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order. | +| extension | bytes | The extension data associated with the order. | +| requestedTakingAmount | uint256 | The amount the taker wants to take. | +| remainingMakingAmount | uint256 | The remaining amount of the asset left to fill. | +| orderHash | bytes32 | The hash of the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | makingAmount The amount of the asset the maker receives. | + +### calculateTakingAmount + +```solidity +function calculateTakingAmount(struct IOrderMixin.Order order, bytes extension, uint256 requestedMakingAmount, uint256 remainingMakingAmount, bytes32 orderHash) internal view returns (uint256) +``` +Calculates the taking amount based on the requested making amount. + +_If getter is specified in the extension data, the getter is called to calculate the taking amount, +otherwise the taking amount is calculated linearly._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order. | +| extension | bytes | The extension data associated with the order. | +| requestedMakingAmount | uint256 | The amount the maker wants to receive. | +| remainingMakingAmount | uint256 | The remaining amount of the asset left to be filled. | +| orderHash | bytes32 | The hash of the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | takingAmount The amount of the asset the taker takes. | + +### isValidExtension + +```solidity +function isValidExtension(struct IOrderMixin.Order order, bytes extension) internal pure returns (bool, bytes4) +``` + +_Validates the extension associated with an order._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order to validate against. | +| extension | bytes | The extension associated with the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | valid True if the extension is valid, false otherwise. | +[1] | bytes4 | errorSelector The error selector if the extension is invalid, 0x00000000 otherwise. | + +### Errors +### MissingOrderExtension + +```solidity +error MissingOrderExtension() +``` + +_Error to be thrown when the extension data of an order is missing._ + +### UnexpectedOrderExtension + +```solidity +error UnexpectedOrderExtension() +``` + +_Error to be thrown when the order has an unexpected extension._ + +### InvalidExtensionHash + +```solidity +error InvalidExtensionHash() +``` + +_Error to be thrown when the order extension hash is invalid._ + diff --git a/docs/OrderMixin.md b/docs/OrderMixin.md new file mode 100644 index 00000000..0546476e --- /dev/null +++ b/docs/OrderMixin.md @@ -0,0 +1,117 @@ + +## OrderMixin + +### Functions list +- [constructor(weth) internal](#constructor) +- [bitInvalidatorForOrder(maker, slot) external](#bitinvalidatorfororder) +- [remainingInvalidatorForOrder(maker, orderHash) external](#remaininginvalidatorfororder) +- [rawRemainingInvalidatorForOrder(maker, orderHash) external](#rawremaininginvalidatorfororder) +- [simulate(target, data) external](#simulate) +- [cancelOrder(makerTraits, orderHash) public](#cancelorder) +- [cancelOrders(makerTraits, orderHashes) external](#cancelorders) +- [bitsInvalidateForOrder(makerTraits, additionalMask) external](#bitsinvalidatefororder) +- [hashOrder(order) external](#hashorder) +- [checkPredicate(predicate) public](#checkpredicate) +- [fillOrder(order, r, vs, amount, takerTraits) external](#fillorder) +- [fillOrderArgs(order, r, vs, amount, takerTraits, args) external](#fillorderargs) +- [fillContractOrder(order, signature, amount, takerTraits) external](#fillcontractorder) +- [fillContractOrderArgs(order, signature, amount, takerTraits, args) external](#fillcontractorderargs) + +### Functions +### constructor + +```solidity +constructor(contract IWETH weth) internal +``` + +### bitInvalidatorForOrder + +```solidity +function bitInvalidatorForOrder(address maker, uint256 slot) external view returns (uint256) +``` +See {IOrderMixin-bitInvalidatorForOrder}. + +### remainingInvalidatorForOrder + +```solidity +function remainingInvalidatorForOrder(address maker, bytes32 orderHash) external view returns (uint256) +``` +See {IOrderMixin-remainingInvalidatorForOrder}. + +### rawRemainingInvalidatorForOrder + +```solidity +function rawRemainingInvalidatorForOrder(address maker, bytes32 orderHash) external view returns (uint256) +``` +See {IOrderMixin-rawRemainingInvalidatorForOrder}. + +### simulate + +```solidity +function simulate(address target, bytes data) external +``` +See {IOrderMixin-simulate}. + +### cancelOrder + +```solidity +function cancelOrder(MakerTraits makerTraits, bytes32 orderHash) public +``` +See {IOrderMixin-cancelOrder}. + +### cancelOrders + +```solidity +function cancelOrders(MakerTraits[] makerTraits, bytes32[] orderHashes) external +``` +See {IOrderMixin-cancelOrders}. + +### bitsInvalidateForOrder + +```solidity +function bitsInvalidateForOrder(MakerTraits makerTraits, uint256 additionalMask) external +``` +See {IOrderMixin-bitsInvalidateForOrder}. + +### hashOrder + +```solidity +function hashOrder(struct IOrderMixin.Order order) external view returns (bytes32) +``` +See {IOrderMixin-hashOrder}. + +### checkPredicate + +```solidity +function checkPredicate(bytes predicate) public view returns (bool) +``` +See {IOrderMixin-checkPredicate}. + +### fillOrder + +```solidity +function fillOrder(struct IOrderMixin.Order order, bytes32 r, bytes32 vs, uint256 amount, TakerTraits takerTraits) external payable returns (uint256, uint256, bytes32) +``` +See {IOrderMixin-fillOrder}. + +### fillOrderArgs + +```solidity +function fillOrderArgs(struct IOrderMixin.Order order, bytes32 r, bytes32 vs, uint256 amount, TakerTraits takerTraits, bytes args) external payable returns (uint256, uint256, bytes32) +``` +See {IOrderMixin-fillOrderArgs}. + +### fillContractOrder + +```solidity +function fillContractOrder(struct IOrderMixin.Order order, bytes signature, uint256 amount, TakerTraits takerTraits) external returns (uint256, uint256, bytes32) +``` +See {IOrderMixin-fillContractOrder}. + +### fillContractOrderArgs + +```solidity +function fillContractOrderArgs(struct IOrderMixin.Order order, bytes signature, uint256 amount, TakerTraits takerTraits, bytes args) external returns (uint256, uint256, bytes32) +``` +See {IOrderMixin-fillContractOrderArgs}. + diff --git a/docs/extensions/ApprovalPreInteraction.md b/docs/extensions/ApprovalPreInteraction.md new file mode 100644 index 00000000..1702ec01 --- /dev/null +++ b/docs/extensions/ApprovalPreInteraction.md @@ -0,0 +1,39 @@ + +## ApprovalPreInteraction + +### Functions list +- [constructor(_immutableOwner, _maker) public](#constructor) +- [preInteraction(order, , , , makingAmount, , , ) external](#preinteraction) +- [isValidSignature(orderHash, signature) external](#isvalidsignature) + +### Errors list +- [UnathorizedMaker() ](#unathorizedmaker) + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner, address _maker) public +``` + +### preInteraction + +```solidity +function preInteraction(struct IOrderMixin.Order order, bytes, bytes32, address, uint256 makingAmount, uint256, uint256, bytes) external +``` +See {IPreInteraction-preInteraction}. + +### isValidSignature + +```solidity +function isValidSignature(bytes32 orderHash, bytes signature) external view returns (bytes4) +``` +Checks if orderHash signature was signed with real order maker. + +### Errors +### UnathorizedMaker + +```solidity +error UnathorizedMaker() +``` + diff --git a/docs/extensions/ChainlinkCalculator.md b/docs/extensions/ChainlinkCalculator.md new file mode 100644 index 00000000..ad037d5c --- /dev/null +++ b/docs/extensions/ChainlinkCalculator.md @@ -0,0 +1,77 @@ + +## ChainlinkCalculator + +### Functions list +- [doublePrice(oracle1, oracle2, decimalsScale, amount) external](#doubleprice) +- [getMakingAmount(, , , , takingAmount, , extraData) external](#getmakingamount) +- [getTakingAmount(, , , , makingAmount, , extraData) external](#gettakingamount) +- [_getSpreadedAmount(amount, blob) internal](#_getspreadedamount) +- [_doublePrice(oracle1, oracle2, decimalsScale, amount) internal](#_doubleprice) + +### Errors list +- [DifferentOracleDecimals() ](#differentoracledecimals) +- [StaleOraclePrice() ](#staleoracleprice) + +### Functions +### doublePrice + +```solidity +function doublePrice(contract AggregatorV3Interface oracle1, contract AggregatorV3Interface oracle2, int256 decimalsScale, uint256 amount) external view returns (uint256 result) +``` +Calculates price of token A relative to token B. Note that order is important + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +result | uint256 | Token A relative price times amount | + +### getMakingAmount + +```solidity +function getMakingAmount(struct IOrderMixin.Order, bytes, bytes32, address, uint256 takingAmount, uint256, bytes extraData) external view returns (uint256) +``` + +### getTakingAmount + +```solidity +function getTakingAmount(struct IOrderMixin.Order, bytes, bytes32, address, uint256 makingAmount, uint256, bytes extraData) external view returns (uint256) +``` + +### _getSpreadedAmount + +```solidity +function _getSpreadedAmount(uint256 amount, bytes blob) internal view returns (uint256) +``` +Calculates price of token relative to oracle unit (ETH or USD) +The first byte of the blob contain inverse and useDoublePrice flags, +The inverse flag is set when oracle price should be inverted, +e.g. for DAI-ETH oracle, inverse=false means that we request DAI price in ETH +and inverse=true means that we request ETH price in DAI +The useDoublePrice flag is set when needs price for two custom tokens (other than ETH or USD) + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | Amount * spread * oracle price | + +### _doublePrice + +```solidity +function _doublePrice(contract AggregatorV3Interface oracle1, contract AggregatorV3Interface oracle2, int256 decimalsScale, uint256 amount) internal view returns (uint256 result) +``` + +### Errors +### DifferentOracleDecimals + +```solidity +error DifferentOracleDecimals() +``` + +### StaleOraclePrice + +```solidity +error StaleOraclePrice() +``` + diff --git a/docs/extensions/DutchAuctionCalculator.md b/docs/extensions/DutchAuctionCalculator.md new file mode 100644 index 00000000..5adac421 --- /dev/null +++ b/docs/extensions/DutchAuctionCalculator.md @@ -0,0 +1,22 @@ + +## DutchAuctionCalculator + +The contract implements Dutch auction price calculation for 1inch limit orders, it is used by 1inch Fusion + +### Functions list +- [getMakingAmount(order, , , , takingAmount, , extraData) external](#getmakingamount) +- [getTakingAmount(order, , , , makingAmount, , extraData) external](#gettakingamount) + +### Functions +### getMakingAmount + +```solidity +function getMakingAmount(struct IOrderMixin.Order order, bytes, bytes32, address, uint256 takingAmount, uint256, bytes extraData) external view returns (uint256) +``` + +### getTakingAmount + +```solidity +function getTakingAmount(struct IOrderMixin.Order order, bytes, bytes32, address, uint256 makingAmount, uint256, bytes extraData) external view returns (uint256) +``` + diff --git a/docs/extensions/ERC1155Proxy.md b/docs/extensions/ERC1155Proxy.md new file mode 100644 index 00000000..8295c526 --- /dev/null +++ b/docs/extensions/ERC1155Proxy.md @@ -0,0 +1,31 @@ + +## ERC1155Proxy + +### Functions list +- [constructor(_immutableOwner) public](#constructor) +- [func_301JL5R(from, to, amount, token, tokenId, data) external](#func_301jl5r) + +### Errors list +- [ERC1155ProxyBadSelector() ](#erc1155proxybadselector) + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner) public +``` + +### func_301JL5R + +```solidity +function func_301JL5R(address from, address to, uint256 amount, contract IERC1155 token, uint256 tokenId, bytes data) external +``` +Proxy transfer method for `IERC1155.safeTransferFrom`. Selector must match `IERC20.transferFrom` + +### Errors +### ERC1155ProxyBadSelector + +```solidity +error ERC1155ProxyBadSelector() +``` + diff --git a/docs/extensions/ERC721Proxy.md b/docs/extensions/ERC721Proxy.md new file mode 100644 index 00000000..01620bdb --- /dev/null +++ b/docs/extensions/ERC721Proxy.md @@ -0,0 +1,32 @@ + +## ERC721Proxy + +### Functions list +- [constructor(_immutableOwner) public](#constructor) +- [func_60iHVgK(from, to, , tokenId, token) external](#func_60ihvgk) + +### Errors list +- [ERC721ProxyBadSelector() ](#erc721proxybadselector) + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner) public +``` + +### func_60iHVgK + +```solidity +function func_60iHVgK(address from, address to, uint256, uint256 tokenId, contract IERC721 token) external +``` +Proxy transfer method for `IERC721.transferFrom`. Selector must match `IERC20.transferFrom`. +Note that `amount` is unused for security reasons to prevent unintended ERC-721 token sale via partial fill + +### Errors +### ERC721ProxyBadSelector + +```solidity +error ERC721ProxyBadSelector() +``` + diff --git a/docs/extensions/ERC721ProxySafe.md b/docs/extensions/ERC721ProxySafe.md new file mode 100644 index 00000000..859c38eb --- /dev/null +++ b/docs/extensions/ERC721ProxySafe.md @@ -0,0 +1,32 @@ + +## ERC721ProxySafe + +### Functions list +- [constructor(_immutableOwner) public](#constructor) +- [func_60iHVgK(from, to, , tokenId, token) external](#func_60ihvgk) + +### Errors list +- [ERC721ProxySafeBadSelector() ](#erc721proxysafebadselector) + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner) public +``` + +### func_60iHVgK + +```solidity +function func_60iHVgK(address from, address to, uint256, uint256 tokenId, contract IERC721 token) external +``` +Proxy transfer method for `IERC721.transferFrom`. Selector must match `IERC20.transferFrom`. +Note that `amount` is unused for security reasons to prevent unintended ERC-721 token sale via partial fill + +### Errors +### ERC721ProxySafeBadSelector + +```solidity +error ERC721ProxySafeBadSelector() +``` + diff --git a/docs/extensions/ETHOrders.md b/docs/extensions/ETHOrders.md new file mode 100644 index 00000000..66f08235 --- /dev/null +++ b/docs/extensions/ETHOrders.md @@ -0,0 +1,128 @@ + +## ETHOrders + +### Types list +- [ETHOrder](#ethorder) + +### Functions list +- [constructor(weth, limitOrderProtocol) public](#constructor) +- [ethOrdersBatch(orderHashes) external](#ethordersbatch) +- [ethOrderDeposit(order, extension) external](#ethorderdeposit) +- [cancelOrder(makerTraits, orderHash) external](#cancelorder) +- [isValidSignature(orderHash, signature) external](#isvalidsignature) +- [postInteraction(, , orderHash, , makingAmount, , , ) external](#postinteraction) + +### Events list +- [ETHDeposited(orderHash, amount) ](#ethdeposited) +- [ETHOrderCancelled(orderHash, amount) ](#ethordercancelled) + +### Errors list +- [AccessDenied() ](#accessdenied) +- [InvalidOrder() ](#invalidorder) +- [NotEnoughBalance() ](#notenoughbalance) +- [ExistingOrder() ](#existingorder) + +### Types +### ETHOrder + +ETH order struct. + +```solidity +struct ETHOrder { + address maker; + uint96 balance; +} +``` + +### Functions +### constructor + +```solidity +constructor(contract IWETH weth, address limitOrderProtocol) public +``` + +### ethOrdersBatch + +```solidity +function ethOrdersBatch(bytes32[] orderHashes) external view returns (struct ETHOrders.ETHOrder[] ethOrders) +``` + +### ethOrderDeposit + +```solidity +function ethOrderDeposit(struct IOrderMixin.Order order, bytes extension) external payable returns (bytes32 orderHash) +``` + +### cancelOrder + +```solidity +function cancelOrder(MakerTraits makerTraits, bytes32 orderHash) external +``` +Sets ordersMakersBalances to 0, refunds ETH and does standard order cancellation on Limit Order Protocol. + +### isValidSignature + +```solidity +function isValidSignature(bytes32 orderHash, bytes signature) external view returns (bytes4) +``` +Checks if orderHash signature was signed with real order maker. + +### postInteraction + +```solidity +function postInteraction(struct IOrderMixin.Order, bytes, bytes32 orderHash, address, uint256 makingAmount, uint256, uint256, bytes) external +``` +Callback method that gets called after all funds transfers. +Updates _ordersMakersBalances by makingAmount for order with orderHash. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| | struct IOrderMixin.Order | | +| | bytes | | +| orderHash | bytes32 | Hash of the order being processed | +| | address | | +| makingAmount | uint256 | Actual making amount | +| | uint256 | | +| | uint256 | | +| | bytes | | + +### Events +### ETHDeposited + +```solidity +event ETHDeposited(bytes32 orderHash, uint256 amount) +``` + +### ETHOrderCancelled + +```solidity +event ETHOrderCancelled(bytes32 orderHash, uint256 amount) +``` + +### Errors +### AccessDenied + +```solidity +error AccessDenied() +``` + +### InvalidOrder + +```solidity +error InvalidOrder() +``` + +### NotEnoughBalance + +```solidity +error NotEnoughBalance() +``` + +### ExistingOrder + +```solidity +error ExistingOrder() +``` + diff --git a/docs/extensions/FeeTaker.md b/docs/extensions/FeeTaker.md new file mode 100644 index 00000000..da611e18 --- /dev/null +++ b/docs/extensions/FeeTaker.md @@ -0,0 +1,111 @@ + +## FeeTaker + +### Functions list +- [constructor(limitOrderProtocol, weth, owner) public](#constructor) +- [receive() external](#receive) +- [getMakingAmount(order, extension, orderHash, taker, takingAmount, remainingMakingAmount, extraData) external](#getmakingamount) +- [getTakingAmount(order, extension, orderHash, taker, makingAmount, remainingMakingAmount, extraData) external](#gettakingamount) +- [postInteraction(order, , , taker, , takingAmount, , extraData) external](#postinteraction) +- [rescueFunds(token, amount) external](#rescuefunds) + +### Errors list +- [OnlyLimitOrderProtocol() ](#onlylimitorderprotocol) +- [EthTransferFailed() ](#ethtransferfailed) + +### Functions +### constructor + +```solidity +constructor(address limitOrderProtocol, address weth, address owner) public +``` +Initializes the contract. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| limitOrderProtocol | address | The limit order protocol contract. | +| weth | address | | +| owner | address | | + +### receive + +```solidity +receive() external payable +``` +Fallback function to receive ETH. + +### getMakingAmount + +```solidity +function getMakingAmount(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external view returns (uint256 calculatedMakingAmount) +``` + +_Calculate makingAmount with fee. +`extraData` consists of: +2 bytes — integrator fee percentage (in 1e5) +2 bytes — resolver fee percentage (in 1e5) +1 byte - taker whitelist size +(bytes10)[N] — taker whitelist_ + +### getTakingAmount + +```solidity +function getTakingAmount(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 makingAmount, uint256 remainingMakingAmount, bytes extraData) external view returns (uint256 calculatedTakingAmount) +``` + +_Calculate takingAmount with fee. +`extraData` consists of: +2 bytes — integrator fee percentage (in 1e5) +2 bytes — resolver fee percentage (in 1e5) +1 byte - taker whitelist size +(bytes10)[N] — taker whitelist_ + +### postInteraction + +```solidity +function postInteraction(struct IOrderMixin.Order order, bytes, bytes32, address taker, uint256, uint256 takingAmount, uint256, bytes extraData) external +``` +See {IPostInteraction-postInteraction}. + +_Takes the fee in taking tokens and transfers the rest to the maker. +`extraData` consists of: +2 bytes — integrator fee percentage (in 1e5) +2 bytes — resolver fee percentage (in 1e5) +1 byte - taker whitelist size +(bytes10)[N] — taker whitelist +20 bytes — fee recipient +20 bytes — receiver of taking tokens (optional, if not set, maker is used)_ + +### rescueFunds + +```solidity +function rescueFunds(contract IERC20 token, uint256 amount) external +``` +Retrieves funds accidently sent directly to the contract address + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| token | contract IERC20 | ERC20 token to retrieve | +| amount | uint256 | amount to retrieve | + +### Errors +### OnlyLimitOrderProtocol + +```solidity +error OnlyLimitOrderProtocol() +``` + +_The caller is not the limit order protocol contract._ + +### EthTransferFailed + +```solidity +error EthTransferFailed() +``` + +_Eth transfer failed. The target fallback may have reverted._ + diff --git a/docs/extensions/ImmutableOwner.md b/docs/extensions/ImmutableOwner.md new file mode 100644 index 00000000..ce04a9c6 --- /dev/null +++ b/docs/extensions/ImmutableOwner.md @@ -0,0 +1,23 @@ + +## ImmutableOwner + +### Functions list +- [constructor(_immutableOwner) public](#constructor) + +### Errors list +- [IOAccessDenied() ](#ioaccessdenied) + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner) public +``` + +### Errors +### IOAccessDenied + +```solidity +error IOAccessDenied() +``` + diff --git a/docs/extensions/OrderIdInvalidator.md b/docs/extensions/OrderIdInvalidator.md new file mode 100644 index 00000000..9094b46d --- /dev/null +++ b/docs/extensions/OrderIdInvalidator.md @@ -0,0 +1,40 @@ + +## OrderIdInvalidator + +OrderIdInvalidator stores pairs (orderId, orderHash) +that allows to execute only one order with the same orderId + +### Functions list +- [constructor(limitOrderProtocol_) public](#constructor) +- [preInteraction(order, , orderHash, , , , , extraData) external](#preinteraction) + +### Errors list +- [AccessDenied() ](#accessdenied) +- [InvalidOrderHash() ](#invalidorderhash) + +### Functions +### constructor + +```solidity +constructor(address limitOrderProtocol_) public +``` + +### preInteraction + +```solidity +function preInteraction(struct IOrderMixin.Order order, bytes, bytes32 orderHash, address, uint256, uint256, uint256, bytes extraData) external +``` + +### Errors +### AccessDenied + +```solidity +error AccessDenied() +``` + +### InvalidOrderHash + +```solidity +error InvalidOrderHash() +``` + diff --git a/docs/extensions/Permit2WitnessProxy.md b/docs/extensions/Permit2WitnessProxy.md new file mode 100644 index 00000000..6dba1bf8 --- /dev/null +++ b/docs/extensions/Permit2WitnessProxy.md @@ -0,0 +1,43 @@ + +## Permit2WitnessProxy + +### Types list +- [Witness](#witness) + +### Functions list +- [constructor(_immutableOwner) public](#constructor) +- [func_801zDya(from, to, amount, permit, witness, sig) external](#func_801zdya) + +### Errors list +- [Permit2WitnessProxyBadSelector() ](#permit2witnessproxybadselector) + +### Types +### Witness + +```solidity +struct Witness { + bytes32 salt; +} +``` + +### Functions +### constructor + +```solidity +constructor(address _immutableOwner) public +``` + +### func_801zDya + +```solidity +function func_801zDya(address from, address to, uint256 amount, struct IPermit2WitnessTransferFrom.PermitTransferFrom permit, bytes32 witness, bytes sig) external +``` +Proxy transfer method for `Permit2.permitWitnessTransferFrom`. Selector must match `IERC20.transferFrom` + +### Errors +### Permit2WitnessProxyBadSelector + +```solidity +error Permit2WitnessProxyBadSelector() +``` + diff --git a/docs/extensions/PrioirityFeeLimiter.md b/docs/extensions/PrioirityFeeLimiter.md new file mode 100644 index 00000000..f63c6800 --- /dev/null +++ b/docs/extensions/PrioirityFeeLimiter.md @@ -0,0 +1,18 @@ + +## PriorityFeeLimiter + +### Functions list +- [isPriorityFeeValid() public](#ispriorityfeevalid) + +### Functions +### isPriorityFeeValid + +```solidity +function isPriorityFeeValid() public view returns (bool) +``` +Validates priority fee according to the spec +https://snapshot.org/#/1inch.eth/proposal/0xa040c60050147a0f67042ae024673e92e813b5d2c0f748abf70ddfa1ed107cbe +For blocks with baseFee <10.6 gwei – the priorityFee is capped at 70% of the baseFee. +For blocks with baseFee between 10.6 gwei and 104.1 gwei – the priorityFee is capped at 50% of the baseFee. +For blocks with baseFee >104.1 gwei – priorityFee is capped at 65% of the block’s baseFee. + diff --git a/docs/extensions/RangeAmountCalculator.md b/docs/extensions/RangeAmountCalculator.md new file mode 100644 index 00000000..c6127eb9 --- /dev/null +++ b/docs/extensions/RangeAmountCalculator.md @@ -0,0 +1,59 @@ + +## RangeAmountCalculator + +A range limit order is a strategy used to sell an asset within a specified price range. +For instance, suppose you anticipate the value of ETH to increase in the next week from its +current worth of 3000 DAI to a minimum of 4000 DAI. +In that case, you can create an ETH -> DAI limit order within the price range of 3000 -> 4000. +For example, you could create an order to sell 10 ETH within that price range. + +When someone places a bid for the entire limit order, they may purchase it all at once at +an average price of 3500 DAI. Alternatively, the limit order may be executed in portions. +For instance, the buyer might purchase 1 ETH for 3050 DAI, then another 1 ETH for 3150 DAI, and so on. + +Function of the changing price of makerAsset tokens in takerAsset tokens by the filling amount of makerAsset tokens in order: + priceEnd - priceStart +y = ----------------------- * x + priceStart + totalAmount + +### Functions list +- [getTakingAmount(order, , , , makingAmount, remainingMakingAmount, extraData) external](#gettakingamount) +- [getMakingAmount(order, , , , takingAmount, remainingMakingAmount, extraData) external](#getmakingamount) +- [getRangeTakerAmount(priceStart, priceEnd, orderMakingAmount, makingAmount, remainingMakingAmount) public](#getrangetakeramount) +- [getRangeMakerAmount(priceStart, priceEnd, orderMakingAmount, takingAmount, remainingMakingAmount) public](#getrangemakeramount) + +### Errors list +- [IncorrectRange() ](#incorrectrange) + +### Functions +### getTakingAmount + +```solidity +function getTakingAmount(struct IOrderMixin.Order order, bytes, bytes32, address, uint256 makingAmount, uint256 remainingMakingAmount, bytes extraData) external pure returns (uint256) +``` + +### getMakingAmount + +```solidity +function getMakingAmount(struct IOrderMixin.Order order, bytes, bytes32, address, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external pure returns (uint256) +``` + +### getRangeTakerAmount + +```solidity +function getRangeTakerAmount(uint256 priceStart, uint256 priceEnd, uint256 orderMakingAmount, uint256 makingAmount, uint256 remainingMakingAmount) public pure returns (uint256) +``` + +### getRangeMakerAmount + +```solidity +function getRangeMakerAmount(uint256 priceStart, uint256 priceEnd, uint256 orderMakingAmount, uint256 takingAmount, uint256 remainingMakingAmount) public pure returns (uint256) +``` + +### Errors +### IncorrectRange + +```solidity +error IncorrectRange() +``` + diff --git a/docs/helpers/OrderRegistrator.md b/docs/helpers/OrderRegistrator.md new file mode 100644 index 00000000..b00a073a --- /dev/null +++ b/docs/helpers/OrderRegistrator.md @@ -0,0 +1,21 @@ + +## OrderRegistrator + +### Functions list +- [constructor(limitOrderProtocol) public](#constructor) +- [registerOrder(order, extension, signature) external](#registerorder) + +### Functions +### constructor + +```solidity +constructor(contract IOrderMixin limitOrderProtocol) public +``` + +### registerOrder + +```solidity +function registerOrder(struct IOrderMixin.Order order, bytes extension, bytes signature) external +``` +See {IOrderRegistrator-registerOrder}. + diff --git a/docs/helpers/PredicateHelper.md b/docs/helpers/PredicateHelper.md new file mode 100644 index 00000000..097898b7 --- /dev/null +++ b/docs/helpers/PredicateHelper.md @@ -0,0 +1,142 @@ + +## PredicateHelper + +### Functions list +- [or(offsets, data) public](#or) +- [and(offsets, data) public](#and) +- [not(data) public](#not) +- [eq(value, data) public](#eq) +- [lt(value, data) public](#lt) +- [gt(value, data) public](#gt) +- [arbitraryStaticCall(target, data) public](#arbitrarystaticcall) +- [_staticcallForUint(target, data) internal](#_staticcallforuint) + +### Errors list +- [ArbitraryStaticCallFailed() ](#arbitrarystaticcallfailed) + +### Functions +### or + +```solidity +function or(uint256 offsets, bytes data) public view returns (bool) +``` +Calls every target with corresponding data + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if call to any target returned True. Otherwise, false | + +### and + +```solidity +function and(uint256 offsets, bytes data) public view returns (bool) +``` +Calls every target with corresponding data + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if calls to all targets returned True. Otherwise, false | + +### not + +```solidity +function not(bytes data) public view returns (bool) +``` +Calls target with specified data and tests if it's equal to 0 + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if call to target returns 0. Otherwise, false | + +### eq + +```solidity +function eq(uint256 value, bytes data) public view returns (bool) +``` +Calls target with specified data and tests if it's equal to the value + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| value | uint256 | Value to test | +| data | bytes | | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if call to target returns the same value as `value`. Otherwise, false | + +### lt + +```solidity +function lt(uint256 value, bytes data) public view returns (bool) +``` +Calls target with specified data and tests if it's lower than value + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| value | uint256 | Value to test | +| data | bytes | | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if call to target returns value which is lower than `value`. Otherwise, false | + +### gt + +```solidity +function gt(uint256 value, bytes data) public view returns (bool) +``` +Calls target with specified data and tests if it's bigger than value + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| value | uint256 | Value to test | +| data | bytes | | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if call to target returns value which is bigger than `value`. Otherwise, false | + +### arbitraryStaticCall + +```solidity +function arbitraryStaticCall(address target, bytes data) public view returns (uint256) +``` +Performs an arbitrary call to target with data + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | Result Bytes transmuted to uint256 | + +### _staticcallForUint + +```solidity +function _staticcallForUint(address target, bytes data) internal view returns (bool success, uint256 res) +``` + +### Errors +### ArbitraryStaticCallFailed + +```solidity +error ArbitraryStaticCallFailed() +``` + diff --git a/docs/helpers/SafeOrderBuilder.md b/docs/helpers/SafeOrderBuilder.md new file mode 100644 index 00000000..ada7c0ed --- /dev/null +++ b/docs/helpers/SafeOrderBuilder.md @@ -0,0 +1,59 @@ + +## SafeOrderBuilder + +_The contract is responsible for building and signing limit orders for the GnosisSafe. +The contract uses oracles to adjust the order taking amount based on the volatility of the maker and taker assets._ + +### Types list +- [OracleQueryParams](#oraclequeryparams) + +### Functions list +- [constructor(limitOrderProtocol, orderRegistrator) public](#constructor) +- [buildAndSignOrder(order, extension, makerAssetOracleParams, takerAssetOracleParams) external](#buildandsignorder) + +### Errors list +- [StaleOraclePrice() ](#staleoracleprice) + +### Types +### OracleQueryParams + +```solidity +struct OracleQueryParams { + contract AggregatorV3Interface oracle; + uint256 originalAnswer; + uint256 ttl; +} +``` + +### Functions +### constructor + +```solidity +constructor(contract IOrderMixin limitOrderProtocol, contract IOrderRegistrator orderRegistrator) public +``` + +### buildAndSignOrder + +```solidity +function buildAndSignOrder(struct IOrderMixin.Order order, bytes extension, struct SafeOrderBuilder.OracleQueryParams makerAssetOracleParams, struct SafeOrderBuilder.OracleQueryParams takerAssetOracleParams) external +``` +Builds and signs a limit order for the GnosisSafe. +The order is signed by the GnosisSafe and registered in the order registrator. +The order taking amount is adjusted based on the volatility of the maker and taker assets. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order to be built and signed. | +| extension | bytes | The extension data associated with the order. | +| makerAssetOracleParams | struct SafeOrderBuilder.OracleQueryParams | The oracle query parameters for the maker asset. | +| takerAssetOracleParams | struct SafeOrderBuilder.OracleQueryParams | The oracle query parameters for the taker asset. | + +### Errors +### StaleOraclePrice + +```solidity +error StaleOraclePrice() +``` + diff --git a/docs/helpers/SeriesEpochManager.md b/docs/helpers/SeriesEpochManager.md new file mode 100644 index 00000000..6e5faf87 --- /dev/null +++ b/docs/helpers/SeriesEpochManager.md @@ -0,0 +1,64 @@ + +## SeriesEpochManager + +### Functions list +- [epoch(maker, series) public](#epoch) +- [increaseEpoch(series) external](#increaseepoch) +- [advanceEpoch(series, amount) public](#advanceepoch) +- [epochEquals(maker, series, makerEpoch) public](#epochequals) + +### Events list +- [EpochIncreased(maker, series, newEpoch) ](#epochincreased) + +### Errors list +- [AdvanceEpochFailed() ](#advanceepochfailed) + +### Functions +### epoch + +```solidity +function epoch(address maker, uint96 series) public view returns (uint256) +``` +Returns nonce for `maker` and `series` + +### increaseEpoch + +```solidity +function increaseEpoch(uint96 series) external +``` +Advances nonce by one + +### advanceEpoch + +```solidity +function advanceEpoch(uint96 series, uint256 amount) public +``` +Advances nonce by specified amount + +### epochEquals + +```solidity +function epochEquals(address maker, uint256 series, uint256 makerEpoch) public view returns (bool) +``` +Checks if `maker` has specified `makerEpoch` for `series` + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if `maker` has specified epoch. Otherwise, false | + +### Events +### EpochIncreased + +```solidity +event EpochIncreased(address maker, uint256 series, uint256 newEpoch) +``` + +### Errors +### AdvanceEpochFailed + +```solidity +error AdvanceEpochFailed() +``` + diff --git a/docs/helpers/SeriesNonceManager.md b/docs/helpers/SeriesNonceManager.md new file mode 100644 index 00000000..81e1333c --- /dev/null +++ b/docs/helpers/SeriesNonceManager.md @@ -0,0 +1,77 @@ + +## SeriesNonceManager + +### Functions list +- [increaseNonce(series) external](#increasenonce) +- [advanceNonce(series, amount) public](#advancenonce) +- [nonceEquals(series, makerAddress, makerNonce) public](#nonceequals) +- [timestampBelow(time) public](#timestampbelow) +- [timestampBelowAndNonceEquals(timeNonceSeriesAccount) public](#timestampbelowandnonceequals) + +### Events list +- [NonceIncreased(maker, series, newNonce) ](#nonceincreased) + +### Errors list +- [AdvanceNonceFailed() ](#advancenoncefailed) + +### Functions +### increaseNonce + +```solidity +function increaseNonce(uint8 series) external +``` +Advances nonce by one + +### advanceNonce + +```solidity +function advanceNonce(uint256 series, uint256 amount) public +``` +Advances nonce by specified amount + +### nonceEquals + +```solidity +function nonceEquals(uint256 series, address makerAddress, uint256 makerNonce) public view returns (bool) +``` +Checks if `makerAddress` has specified `makerNonce` for `series` + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if `makerAddress` has specified nonce. Otherwise, false | + +### timestampBelow + +```solidity +function timestampBelow(uint256 time) public view returns (bool) +``` +Checks passed time against block timestamp + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | Result True if current block timestamp is lower than `time`. Otherwise, false | + +### timestampBelowAndNonceEquals + +```solidity +function timestampBelowAndNonceEquals(uint256 timeNonceSeriesAccount) public view returns (bool) +``` + +### Events +### NonceIncreased + +```solidity +event NonceIncreased(address maker, uint256 series, uint256 newNonce) +``` + +### Errors +### AdvanceNonceFailed + +```solidity +error AdvanceNonceFailed() +``` + diff --git a/docs/interfaces/IAmountGetter.md b/docs/interfaces/IAmountGetter.md new file mode 100644 index 00000000..c1b92a5d --- /dev/null +++ b/docs/interfaces/IAmountGetter.md @@ -0,0 +1,46 @@ + +## IAmountGetter + +### Functions list +- [getMakingAmount(order, extension, orderHash, taker, takingAmount, remainingMakingAmount, extraData) external](#getmakingamount) +- [getTakingAmount(order, extension, orderHash, taker, makingAmount, remainingMakingAmount, extraData) external](#gettakingamount) + +### Functions +### getMakingAmount + +```solidity +function getMakingAmount(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external view returns (uint256) +``` +View method that gets called to determine the actual making amount + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order being processed | +| extension | bytes | Order extension data | +| orderHash | bytes32 | Hash of the order being processed | +| taker | address | Taker address | +| takingAmount | uint256 | Actual taking amount | +| remainingMakingAmount | uint256 | Order remaining making amount | +| extraData | bytes | Extra data | + +### getTakingAmount + +```solidity +function getTakingAmount(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 makingAmount, uint256 remainingMakingAmount, bytes extraData) external view returns (uint256) +``` +View method that gets called to determine the actual making amount + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order being processed | +| extension | bytes | Order extension data | +| orderHash | bytes32 | Hash of the order being processed | +| taker | address | Taker address | +| makingAmount | uint256 | Actual taking amount | +| remainingMakingAmount | uint256 | Order remaining making amount | +| extraData | bytes | Extra data | + diff --git a/docs/interfaces/ICreate3Deployer.md b/docs/interfaces/ICreate3Deployer.md new file mode 100644 index 00000000..0b075cb1 --- /dev/null +++ b/docs/interfaces/ICreate3Deployer.md @@ -0,0 +1,20 @@ + +## ICreate3Deployer + +### Functions list +- [deploy(salt, code) external](#deploy) +- [addressOf(salt) external](#addressof) + +### Functions +### deploy + +```solidity +function deploy(bytes32 salt, bytes code) external returns (address) +``` + +### addressOf + +```solidity +function addressOf(bytes32 salt) external view returns (address) +``` + diff --git a/docs/interfaces/IOrderMixin.md b/docs/interfaces/IOrderMixin.md new file mode 100644 index 00000000..6f9b03a3 --- /dev/null +++ b/docs/interfaces/IOrderMixin.md @@ -0,0 +1,462 @@ + +## IOrderMixin + +### Types list +- [Order](#order) + +### Functions list +- [bitInvalidatorForOrder(maker, slot) external](#bitinvalidatorfororder) +- [remainingInvalidatorForOrder(maker, orderHash) external](#remaininginvalidatorfororder) +- [rawRemainingInvalidatorForOrder(maker, orderHash) external](#rawremaininginvalidatorfororder) +- [cancelOrder(makerTraits, orderHash) external](#cancelorder) +- [cancelOrders(makerTraits, orderHashes) external](#cancelorders) +- [bitsInvalidateForOrder(makerTraits, additionalMask) external](#bitsinvalidatefororder) +- [hashOrder(order) external](#hashorder) +- [simulate(target, data) external](#simulate) +- [fillOrder(order, r, vs, amount, takerTraits) external](#fillorder) +- [fillOrderArgs(order, r, vs, amount, takerTraits, args) external](#fillorderargs) +- [fillContractOrder(order, signature, amount, takerTraits) external](#fillcontractorder) +- [fillContractOrderArgs(order, signature, amount, takerTraits, args) external](#fillcontractorderargs) + +### Events list +- [OrderFilled(orderHash, remainingAmount) ](#orderfilled) +- [OrderCancelled(orderHash) ](#ordercancelled) +- [BitInvalidatorUpdated(maker, slotIndex, slotValue) ](#bitinvalidatorupdated) + +### Errors list +- [InvalidatedOrder() ](#invalidatedorder) +- [TakingAmountExceeded() ](#takingamountexceeded) +- [PrivateOrder() ](#privateorder) +- [BadSignature() ](#badsignature) +- [OrderExpired() ](#orderexpired) +- [WrongSeriesNonce() ](#wrongseriesnonce) +- [SwapWithZeroAmount() ](#swapwithzeroamount) +- [PartialFillNotAllowed() ](#partialfillnotallowed) +- [OrderIsNotSuitableForMassInvalidation() ](#orderisnotsuitableformassinvalidation) +- [EpochManagerAndBitInvalidatorsAreIncompatible() ](#epochmanagerandbitinvalidatorsareincompatible) +- [ReentrancyDetected() ](#reentrancydetected) +- [PredicateIsNotTrue() ](#predicateisnottrue) +- [TakingAmountTooHigh() ](#takingamounttoohigh) +- [MakingAmountTooLow() ](#makingamounttoolow) +- [TransferFromMakerToTakerFailed() ](#transferfrommakertotakerfailed) +- [TransferFromTakerToMakerFailed() ](#transferfromtakertomakerfailed) +- [MismatchArraysLengths() ](#mismatcharrayslengths) +- [InvalidPermit2Transfer() ](#invalidpermit2transfer) +- [SimulationResults(success, res) ](#simulationresults) + +### Types +### Order + +```solidity +struct Order { + uint256 salt; + Address maker; + Address receiver; + Address makerAsset; + Address takerAsset; + uint256 makingAmount; + uint256 takingAmount; + MakerTraits makerTraits; +} +``` + +### Functions +### bitInvalidatorForOrder + +```solidity +function bitInvalidatorForOrder(address maker, uint256 slot) external view returns (uint256 result) +``` +Returns bitmask for double-spend invalidators based on lowest byte of order.info and filled quotes + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| maker | address | Maker address | +| slot | uint256 | Slot number to return bitmask for | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +result | uint256 | Each bit represents whether corresponding was already invalidated | + +### remainingInvalidatorForOrder + +```solidity +function remainingInvalidatorForOrder(address maker, bytes32 orderHash) external view returns (uint256 remaining) +``` +Returns bitmask for double-spend invalidators based on lowest byte of order.info and filled quotes + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| maker | address | | +| orderHash | bytes32 | Hash of the order | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +remaining | uint256 | Remaining amount of the order | + +### rawRemainingInvalidatorForOrder + +```solidity +function rawRemainingInvalidatorForOrder(address maker, bytes32 orderHash) external view returns (uint256 remainingRaw) +``` +Returns bitmask for double-spend invalidators based on lowest byte of order.info and filled quotes + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| maker | address | | +| orderHash | bytes32 | Hash of the order | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +remainingRaw | uint256 | Inverse of the remaining amount of the order if order was filled at least once, otherwise 0 | + +### cancelOrder + +```solidity +function cancelOrder(MakerTraits makerTraits, bytes32 orderHash) external +``` +Cancels order's quote + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | Order makerTraits | +| orderHash | bytes32 | Hash of the order to cancel | + +### cancelOrders + +```solidity +function cancelOrders(MakerTraits[] makerTraits, bytes32[] orderHashes) external +``` +Cancels orders' quotes + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits[] | Orders makerTraits | +| orderHashes | bytes32[] | Hashes of the orders to cancel | + +### bitsInvalidateForOrder + +```solidity +function bitsInvalidateForOrder(MakerTraits makerTraits, uint256 additionalMask) external +``` +Cancels all quotes of the maker (works for bit-invalidating orders only) + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | Order makerTraits | +| additionalMask | uint256 | Additional bitmask to invalidate orders | + +### hashOrder + +```solidity +function hashOrder(struct IOrderMixin.Order order) external view returns (bytes32 orderHash) +``` +Returns order hash, hashed with limit order protocol contract EIP712 + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +orderHash | bytes32 | Hash of the order | + +### simulate + +```solidity +function simulate(address target, bytes data) external +``` +Delegates execution to custom implementation. Could be used to validate if `transferFrom` works properly + +_The function always reverts and returns the simulation results in revert data._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| target | address | Addresses that will be delegated | +| data | bytes | Data that will be passed to delegatee | + +### fillOrder + +```solidity +function fillOrder(struct IOrderMixin.Order order, bytes32 r, bytes32 vs, uint256 amount, TakerTraits takerTraits) external payable returns (uint256 makingAmount, uint256 takingAmount, bytes32 orderHash) +``` +Fills order's quote, fully or partially (whichever is possible). + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order quote to fill | +| r | bytes32 | R component of signature | +| vs | bytes32 | VS component of signature | +| amount | uint256 | Taker amount to fill | +| takerTraits | TakerTraits | Specifies threshold as maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount. The 2nd (0 based index) highest bit specifies whether taker wants to skip maker's permit. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +makingAmount | uint256 | Actual amount transferred from maker to taker | +takingAmount | uint256 | Actual amount transferred from taker to maker | +orderHash | bytes32 | Hash of the filled order | + +### fillOrderArgs + +```solidity +function fillOrderArgs(struct IOrderMixin.Order order, bytes32 r, bytes32 vs, uint256 amount, TakerTraits takerTraits, bytes args) external payable returns (uint256 makingAmount, uint256 takingAmount, bytes32 orderHash) +``` +Same as `fillOrder` but allows to specify arguments that are used by the taker. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order quote to fill | +| r | bytes32 | R component of signature | +| vs | bytes32 | VS component of signature | +| amount | uint256 | Taker amount to fill | +| takerTraits | TakerTraits | Specifies threshold as maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount. The 2nd (0 based index) highest bit specifies whether taker wants to skip maker's permit. | +| args | bytes | Arguments that are used by the taker (target, extension, interaction, permit) | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +makingAmount | uint256 | Actual amount transferred from maker to taker | +takingAmount | uint256 | Actual amount transferred from taker to maker | +orderHash | bytes32 | Hash of the filled order | + +### fillContractOrder + +```solidity +function fillContractOrder(struct IOrderMixin.Order order, bytes signature, uint256 amount, TakerTraits takerTraits) external returns (uint256 makingAmount, uint256 takingAmount, bytes32 orderHash) +``` +Same as `fillOrder` but uses contract-based signatures. + +_See tests for examples_ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order quote to fill | +| signature | bytes | Signature to confirm quote ownership | +| amount | uint256 | Taker amount to fill | +| takerTraits | TakerTraits | Specifies threshold as maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount. The 2nd (0 based index) highest bit specifies whether taker wants to skip maker's permit. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +makingAmount | uint256 | Actual amount transferred from maker to taker | +takingAmount | uint256 | Actual amount transferred from taker to maker | +orderHash | bytes32 | Hash of the filled order | + +### fillContractOrderArgs + +```solidity +function fillContractOrderArgs(struct IOrderMixin.Order order, bytes signature, uint256 amount, TakerTraits takerTraits, bytes args) external returns (uint256 makingAmount, uint256 takingAmount, bytes32 orderHash) +``` +Same as `fillContractOrder` but allows to specify arguments that are used by the taker. + +_See tests for examples_ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order quote to fill | +| signature | bytes | Signature to confirm quote ownership | +| amount | uint256 | Taker amount to fill | +| takerTraits | TakerTraits | Specifies threshold as maximum allowed takingAmount when takingAmount is zero, otherwise specifies minimum allowed makingAmount. The 2nd (0 based index) highest bit specifies whether taker wants to skip maker's permit. | +| args | bytes | Arguments that are used by the taker (target, extension, interaction, permit) | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +makingAmount | uint256 | Actual amount transferred from maker to taker | +takingAmount | uint256 | Actual amount transferred from taker to maker | +orderHash | bytes32 | Hash of the filled order | + +### Events +### OrderFilled + +```solidity +event OrderFilled(bytes32 orderHash, uint256 remainingAmount) +``` +Emitted when order gets filled + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| orderHash | bytes32 | Hash of the order | +| remainingAmount | uint256 | Amount of the maker asset that remains to be filled | + +### OrderCancelled + +```solidity +event OrderCancelled(bytes32 orderHash) +``` +Emitted when order without `useBitInvalidator` gets cancelled + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| orderHash | bytes32 | Hash of the order | + +### BitInvalidatorUpdated + +```solidity +event BitInvalidatorUpdated(address maker, uint256 slotIndex, uint256 slotValue) +``` +Emitted when order with `useBitInvalidator` gets cancelled + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| maker | address | Maker address | +| slotIndex | uint256 | Slot index that was updated | +| slotValue | uint256 | New slot value | + +### Errors +### InvalidatedOrder + +```solidity +error InvalidatedOrder() +``` + +### TakingAmountExceeded + +```solidity +error TakingAmountExceeded() +``` + +### PrivateOrder + +```solidity +error PrivateOrder() +``` + +### BadSignature + +```solidity +error BadSignature() +``` + +### OrderExpired + +```solidity +error OrderExpired() +``` + +### WrongSeriesNonce + +```solidity +error WrongSeriesNonce() +``` + +### SwapWithZeroAmount + +```solidity +error SwapWithZeroAmount() +``` + +### PartialFillNotAllowed + +```solidity +error PartialFillNotAllowed() +``` + +### OrderIsNotSuitableForMassInvalidation + +```solidity +error OrderIsNotSuitableForMassInvalidation() +``` + +### EpochManagerAndBitInvalidatorsAreIncompatible + +```solidity +error EpochManagerAndBitInvalidatorsAreIncompatible() +``` + +### ReentrancyDetected + +```solidity +error ReentrancyDetected() +``` + +### PredicateIsNotTrue + +```solidity +error PredicateIsNotTrue() +``` + +### TakingAmountTooHigh + +```solidity +error TakingAmountTooHigh() +``` + +### MakingAmountTooLow + +```solidity +error MakingAmountTooLow() +``` + +### TransferFromMakerToTakerFailed + +```solidity +error TransferFromMakerToTakerFailed() +``` + +### TransferFromTakerToMakerFailed + +```solidity +error TransferFromTakerToMakerFailed() +``` + +### MismatchArraysLengths + +```solidity +error MismatchArraysLengths() +``` + +### InvalidPermit2Transfer + +```solidity +error InvalidPermit2Transfer() +``` + +### SimulationResults + +```solidity +error SimulationResults(bool success, bytes res) +``` + diff --git a/docs/interfaces/IOrderRegistrator.md b/docs/interfaces/IOrderRegistrator.md new file mode 100644 index 00000000..f5975052 --- /dev/null +++ b/docs/interfaces/IOrderRegistrator.md @@ -0,0 +1,44 @@ + +## IOrderRegistrator + +_The interface defines the structure of the order registrator contract. +The registrator is responsible for registering orders and emitting an event when an order is registered._ + +### Functions list +- [registerOrder(order, extension, signature) external](#registerorder) + +### Events list +- [OrderRegistered(order, extension, signature) ](#orderregistered) + +### Functions +### registerOrder + +```solidity +function registerOrder(struct IOrderMixin.Order order, bytes extension, bytes signature) external +``` +Registers an order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order to be registered. | +| extension | bytes | The extension data associated with the order. | +| signature | bytes | The signature of the order. | + +### Events +### OrderRegistered + +```solidity +event OrderRegistered(struct IOrderMixin.Order order, bytes extension, bytes signature) +``` +Emitted when an order is registered. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | The order that was registered. | +| extension | bytes | The extension data associated with the order. | +| signature | bytes | The signature of the order. | + diff --git a/docs/interfaces/IPermit2WitnessTransferFrom.md b/docs/interfaces/IPermit2WitnessTransferFrom.md new file mode 100644 index 00000000..e00b5bef --- /dev/null +++ b/docs/interfaces/IPermit2WitnessTransferFrom.md @@ -0,0 +1,45 @@ + +## IPermit2WitnessTransferFrom + +### Types list +- [TokenPermissions](#tokenpermissions) +- [PermitTransferFrom](#permittransferfrom) +- [SignatureTransferDetails](#signaturetransferdetails) + +### Functions list +- [permitWitnessTransferFrom(permit, transferDetails, owner, witness, witnessTypeString, signature) external](#permitwitnesstransferfrom) + +### Types +### TokenPermissions + +```solidity +struct TokenPermissions { + address token; + uint256 amount; +} +``` +### PermitTransferFrom + +```solidity +struct PermitTransferFrom { + struct IPermit2WitnessTransferFrom.TokenPermissions permitted; + uint256 nonce; + uint256 deadline; +} +``` +### SignatureTransferDetails + +```solidity +struct SignatureTransferDetails { + address to; + uint256 requestedAmount; +} +``` + +### Functions +### permitWitnessTransferFrom + +```solidity +function permitWitnessTransferFrom(struct IPermit2WitnessTransferFrom.PermitTransferFrom permit, struct IPermit2WitnessTransferFrom.SignatureTransferDetails transferDetails, address owner, bytes32 witness, string witnessTypeString, bytes signature) external +``` + diff --git a/docs/interfaces/IPostInteraction.md b/docs/interfaces/IPostInteraction.md new file mode 100644 index 00000000..2d5974ad --- /dev/null +++ b/docs/interfaces/IPostInteraction.md @@ -0,0 +1,27 @@ + +## IPostInteraction + +### Functions list +- [postInteraction(order, extension, orderHash, taker, makingAmount, takingAmount, remainingMakingAmount, extraData) external](#postinteraction) + +### Functions +### postInteraction + +```solidity +function postInteraction(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 makingAmount, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external +``` +Callback method that gets called after all fund transfers + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order being processed | +| extension | bytes | Order extension data | +| orderHash | bytes32 | Hash of the order being processed | +| taker | address | Taker address | +| makingAmount | uint256 | Actual making amount | +| takingAmount | uint256 | Actual taking amount | +| remainingMakingAmount | uint256 | Order remaining making amount | +| extraData | bytes | Extra data | + diff --git a/docs/interfaces/IPreInteraction.md b/docs/interfaces/IPreInteraction.md new file mode 100644 index 00000000..0cbfb335 --- /dev/null +++ b/docs/interfaces/IPreInteraction.md @@ -0,0 +1,27 @@ + +## IPreInteraction + +### Functions list +- [preInteraction(order, extension, orderHash, taker, makingAmount, takingAmount, remainingMakingAmount, extraData) external](#preinteraction) + +### Functions +### preInteraction + +```solidity +function preInteraction(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 makingAmount, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external +``` +Callback method that gets called before any funds transfers + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order being processed | +| extension | bytes | Order extension data | +| orderHash | bytes32 | Hash of the order being processed | +| taker | address | Taker address | +| makingAmount | uint256 | Actual making amount | +| takingAmount | uint256 | Actual taking amount | +| remainingMakingAmount | uint256 | Order remaining making amount | +| extraData | bytes | Extra data | + diff --git a/docs/interfaces/ITakerInteraction.md b/docs/interfaces/ITakerInteraction.md new file mode 100644 index 00000000..baa73e08 --- /dev/null +++ b/docs/interfaces/ITakerInteraction.md @@ -0,0 +1,31 @@ + +## ITakerInteraction + +The order filling steps are `preInteraction` =>` Transfer "maker -> taker"` => **`Interaction`** => `Transfer "taker -> maker"` => `postInteraction` + +### Functions list +- [takerInteraction(order, extension, orderHash, taker, makingAmount, takingAmount, remainingMakingAmount, extraData) external](#takerinteraction) + +### Functions +### takerInteraction + +```solidity +function takerInteraction(struct IOrderMixin.Order order, bytes extension, bytes32 orderHash, address taker, uint256 makingAmount, uint256 takingAmount, uint256 remainingMakingAmount, bytes extraData) external +``` +Callback method that gets called after maker fund transfer but before taker fund transfer + +_This callback allows to interactively handle maker aseets to produce takers assets, doesn't supports ETH as taker assets_ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| order | struct IOrderMixin.Order | Order being processed | +| extension | bytes | Order extension data | +| orderHash | bytes32 | Hash of the order being processed | +| taker | address | Taker address | +| makingAmount | uint256 | Actual making amount | +| takingAmount | uint256 | Actual taking amount | +| remainingMakingAmount | uint256 | Order remaining making amount | +| extraData | bytes | Extra data | + diff --git a/docs/libraries/AmountCalculatorLib.md b/docs/libraries/AmountCalculatorLib.md new file mode 100644 index 00000000..7157b242 --- /dev/null +++ b/docs/libraries/AmountCalculatorLib.md @@ -0,0 +1,34 @@ + +## AmountCalculatorLib + +### Functions list +- [getMakingAmount(orderMakerAmount, orderTakerAmount, swapTakerAmount) internal](#getmakingamount) +- [getTakingAmount(orderMakerAmount, orderTakerAmount, swapMakerAmount) internal](#gettakingamount) + +### Functions +### getMakingAmount + +```solidity +function getMakingAmount(uint256 orderMakerAmount, uint256 orderTakerAmount, uint256 swapTakerAmount) internal pure returns (uint256) +``` +Calculates maker amount + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | Result Floored maker amount | + +### getTakingAmount + +```solidity +function getTakingAmount(uint256 orderMakerAmount, uint256 orderTakerAmount, uint256 swapMakerAmount) internal pure returns (uint256) +``` +Calculates taker amount + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | Result Ceiled taker amount | + diff --git a/docs/libraries/BitInvalidatorLib.md b/docs/libraries/BitInvalidatorLib.md new file mode 100644 index 00000000..29db2139 --- /dev/null +++ b/docs/libraries/BitInvalidatorLib.md @@ -0,0 +1,101 @@ + +## BitInvalidatorLib + +_The library provides a mechanism to invalidate objects based on a bit invalidator. +The bit invalidator holds a mapping where each key represents a slot number and each value contains an integer. +Each bit of the integer represents whether the object with corresponding index is valid or has been invalidated (0 - valid, 1 - invalidated). +The nonce given to access or invalidate an entity's state follows this structure: +- bits [0..7] represent the object state index in the slot. +- bits [8..255] represent the slot number (mapping key)._ + +### Types list +- [Data](#data) + +### Functions list +- [checkSlot(self, nonce) internal](#checkslot) +- [checkAndInvalidate(self, nonce) internal](#checkandinvalidate) +- [massInvalidate(self, nonce, additionalMask) internal](#massinvalidate) + +### Errors list +- [BitInvalidatedOrder() ](#bitinvalidatedorder) + +### Types +### Data + +```solidity +struct Data { + mapping(uint256 => uint256) _raw; +} +``` + +### Functions +### checkSlot + +```solidity +function checkSlot(struct BitInvalidatorLib.Data self, uint256 nonce) internal view returns (uint256) +``` +Retrieves the validity status of entities in a specific slot. + +_Each bit in the returned value corresponds to the validity of an entity. 0 for valid, 1 for invalidated._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| self | struct BitInvalidatorLib.Data | The data structure. | +| nonce | uint256 | The nonce identifying the slot. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The validity status of entities in the slot as a uint256. | + +### checkAndInvalidate + +```solidity +function checkAndInvalidate(struct BitInvalidatorLib.Data self, uint256 nonce) internal +``` +Checks the validity of a specific entity and invalidates it if valid. + +_Throws an error if the entity has already been invalidated._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| self | struct BitInvalidatorLib.Data | The data structure. | +| nonce | uint256 | The nonce identifying the slot and the entity. | + +### massInvalidate + +```solidity +function massInvalidate(struct BitInvalidatorLib.Data self, uint256 nonce, uint256 additionalMask) internal returns (uint256 result) +``` +Invalidates multiple entities in a single slot. + +_The entities to be invalidated are identified by setting their corresponding bits to 1 in a mask._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| self | struct BitInvalidatorLib.Data | The data structure. | +| nonce | uint256 | The nonce identifying the slot. | +| additionalMask | uint256 | A mask of bits to be invalidated. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +result | uint256 | Resulting validity status of entities in the slot as a uint256. | + +### Errors +### BitInvalidatedOrder + +```solidity +error BitInvalidatedOrder() +``` + +_The error is thrown when an attempt is made to invalidate an already invalidated entity._ + diff --git a/docs/libraries/Errors.md b/docs/libraries/Errors.md new file mode 100644 index 00000000..364ea6d9 --- /dev/null +++ b/docs/libraries/Errors.md @@ -0,0 +1,20 @@ + +## Errors + +### Errors list +- [InvalidMsgValue() ](#invalidmsgvalue) +- [ETHTransferFailed() ](#ethtransferfailed) + +### Errors +### InvalidMsgValue + +```solidity +error InvalidMsgValue() +``` + +### ETHTransferFailed + +```solidity +error ETHTransferFailed() +``` + diff --git a/docs/libraries/ExtensionLib.md b/docs/libraries/ExtensionLib.md new file mode 100644 index 00000000..19d6722e --- /dev/null +++ b/docs/libraries/ExtensionLib.md @@ -0,0 +1,208 @@ + +## ExtensionLib + +Library for retrieving extensions information for the IOrderMixin Interface. + +### Types list +- [DynamicField](#dynamicfield) + +### Functions list +- [makerAssetSuffix(extension) internal](#makerassetsuffix) +- [takerAssetSuffix(extension) internal](#takerassetsuffix) +- [makingAmountData(extension) internal](#makingamountdata) +- [takingAmountData(extension) internal](#takingamountdata) +- [predicate(extension) internal](#predicate) +- [makerPermit(extension) internal](#makerpermit) +- [preInteractionTargetAndData(extension) internal](#preinteractiontargetanddata) +- [postInteractionTargetAndData(extension) internal](#postinteractiontargetanddata) +- [customData(extension) internal](#customdata) + +### Types +### DynamicField + +```solidity +enum DynamicField { + MakerAssetSuffix, + TakerAssetSuffix, + MakingAmountData, + TakingAmountData, + Predicate, + MakerPermit, + PreInteractionData, + PostInteractionData, + CustomData +} +``` + +### Functions +### makerAssetSuffix + +```solidity +function makerAssetSuffix(bytes extension) internal pure returns (bytes) +``` +Returns the MakerAssetSuffix from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the MakerAssetSuffix is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the MakerAssetSuffix. | + +### takerAssetSuffix + +```solidity +function takerAssetSuffix(bytes extension) internal pure returns (bytes) +``` +Returns the TakerAssetSuffix from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the TakerAssetSuffix is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the TakerAssetSuffix. | + +### makingAmountData + +```solidity +function makingAmountData(bytes extension) internal pure returns (bytes) +``` +Returns the MakingAmountData from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the MakingAmountData is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the MakingAmountData. | + +### takingAmountData + +```solidity +function takingAmountData(bytes extension) internal pure returns (bytes) +``` +Returns the TakingAmountData from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the TakingAmountData is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the TakingAmountData. | + +### predicate + +```solidity +function predicate(bytes extension) internal pure returns (bytes) +``` +Returns the order's predicate from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the predicate is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the predicate. | + +### makerPermit + +```solidity +function makerPermit(bytes extension) internal pure returns (bytes) +``` +Returns the maker's permit from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the maker's permit is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the maker's permit. | + +### preInteractionTargetAndData + +```solidity +function preInteractionTargetAndData(bytes extension) internal pure returns (bytes) +``` +Returns the pre-interaction from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the pre-interaction is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the pre-interaction. | + +### postInteractionTargetAndData + +```solidity +function postInteractionTargetAndData(bytes extension) internal pure returns (bytes) +``` +Returns the post-interaction from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the post-interaction is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the post-interaction. | + +### customData + +```solidity +function customData(bytes extension) internal pure returns (bytes) +``` +Returns extra suffix data from the provided extension calldata. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| extension | bytes | The calldata from which the extra suffix data is to be retrieved. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bytes | calldata Bytes representing the extra suffix data. | + diff --git a/docs/libraries/MakerTraitsLib.md b/docs/libraries/MakerTraitsLib.md new file mode 100644 index 00000000..7312ed13 --- /dev/null +++ b/docs/libraries/MakerTraitsLib.md @@ -0,0 +1,297 @@ + +## MakerTraits + +## MakerTraitsLib + +A library to manage and check MakerTraits, which are used to encode the maker's preferences for an order in a single uint256. +@dev +The MakerTraits type is a uint256 and different parts of the number are used to encode different traits. +High bits are used for flags +255 bit `NO_PARTIAL_FILLS_FLAG` - if set, the order does not allow partial fills +254 bit `ALLOW_MULTIPLE_FILLS_FLAG` - if set, the order permits multiple fills +253 bit - unused +252 bit `PRE_INTERACTION_CALL_FLAG` - if set, the order requires pre-interaction call +251 bit `POST_INTERACTION_CALL_FLAG` - if set, the order requires post-interaction call +250 bit `NEED_CHECK_EPOCH_MANAGER_FLAG` - if set, the order requires to check the epoch manager +249 bit `HAS_EXTENSION_FLAG` - if set, the order has extension(s) +248 bit `USE_PERMIT2_FLAG` - if set, the order uses permit2 +247 bit `UNWRAP_WETH_FLAG` - if set, the order requires to unwrap WETH + +Low 200 bits are used for allowed sender, expiration, nonceOrEpoch, and series +uint80 last 10 bytes of allowed sender address (0 if any) +uint40 expiration timestamp (0 if none) +uint40 nonce or epoch +uint40 series + +### Functions list +- [hasExtension(makerTraits) internal](#hasextension) +- [isAllowedSender(makerTraits, sender) internal](#isallowedsender) +- [isExpired(makerTraits) internal](#isexpired) +- [nonceOrEpoch(makerTraits) internal](#nonceorepoch) +- [series(makerTraits) internal](#series) +- [allowPartialFills(makerTraits) internal](#allowpartialfills) +- [needPreInteractionCall(makerTraits) internal](#needpreinteractioncall) +- [needPostInteractionCall(makerTraits) internal](#needpostinteractioncall) +- [allowMultipleFills(makerTraits) internal](#allowmultiplefills) +- [useBitInvalidator(makerTraits) internal](#usebitinvalidator) +- [needCheckEpochManager(makerTraits) internal](#needcheckepochmanager) +- [usePermit2(makerTraits) internal](#usepermit2) +- [unwrapWeth(makerTraits) internal](#unwrapweth) + +### Functions +### hasExtension + +```solidity +function hasExtension(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the order has the extension flag set. + +_If the `HAS_EXTENSION_FLAG` is set in the makerTraits, then the protocol expects that the order has extension(s)._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the flag is set. | + +### isAllowedSender + +```solidity +function isAllowedSender(MakerTraits makerTraits, address sender) internal pure returns (bool) +``` +Checks if the maker allows a specific taker to fill the order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | +| sender | address | The address of the taker to be checked. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the taker is allowed. | + +### isExpired + +```solidity +function isExpired(MakerTraits makerTraits) internal view returns (bool) +``` +Checks if the order has expired. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the order has expired. | + +### nonceOrEpoch + +```solidity +function nonceOrEpoch(MakerTraits makerTraits) internal pure returns (uint256) +``` +Returns the nonce or epoch of the order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The nonce or epoch of the order. | + +### series + +```solidity +function series(MakerTraits makerTraits) internal pure returns (uint256) +``` +Returns the series of the order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The series of the order. | + +### allowPartialFills + +```solidity +function allowPartialFills(MakerTraits makerTraits) internal pure returns (bool) +``` +Determines if the order allows partial fills. + +_If the _NO_PARTIAL_FILLS_FLAG is not set in the makerTraits, then the order allows partial fills._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker, determining their preferences for the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker allows partial fills. | + +### needPreInteractionCall + +```solidity +function needPreInteractionCall(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the maker needs pre-interaction call. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker needs a pre-interaction call. | + +### needPostInteractionCall + +```solidity +function needPostInteractionCall(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the maker needs post-interaction call. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker needs a post-interaction call. | + +### allowMultipleFills + +```solidity +function allowMultipleFills(MakerTraits makerTraits) internal pure returns (bool) +``` +Determines if the order allows multiple fills. + +_If the _ALLOW_MULTIPLE_FILLS_FLAG is set in the makerTraits, then the maker allows multiple fills._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker, determining their preferences for the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker allows multiple fills. | + +### useBitInvalidator + +```solidity +function useBitInvalidator(MakerTraits makerTraits) internal pure returns (bool) +``` +Determines if an order should use the bit invalidator or remaining amount validator. + +_The bit invalidator can be used if the order does not allow partial or multiple fills._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker, determining their preferences for the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the bit invalidator should be used. True if the order requires the use of the bit invalidator. | + +### needCheckEpochManager + +```solidity +function needCheckEpochManager(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the maker needs to check the epoch. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker needs to check the epoch manager. | + +### usePermit2 + +```solidity +function usePermit2(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the maker uses permit2. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker uses permit2. | + +### unwrapWeth + +```solidity +function unwrapWeth(MakerTraits makerTraits) internal pure returns (bool) +``` +Checks if the maker needs to unwraps WETH. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| makerTraits | MakerTraits | The traits of the maker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the maker needs to unwrap WETH. | + diff --git a/docs/libraries/OffsetsLib.md b/docs/libraries/OffsetsLib.md new file mode 100644 index 00000000..c00a466f --- /dev/null +++ b/docs/libraries/OffsetsLib.md @@ -0,0 +1,49 @@ + +## Offsets + +## OffsetsLib + +_A library for retrieving values by offsets from a concatenated calldata._ + +### Functions list +- [get(offsets, concat, index) internal](#get) + +### Errors list +- [OffsetOutOfBounds() ](#offsetoutofbounds) + +### Functions +### get + +```solidity +function get(Offsets offsets, bytes concat, uint256 index) internal pure returns (bytes result) +``` +Retrieves the field value calldata corresponding to the provided field index from the concatenated calldata. + +_The function performs the following steps: +1. Retrieve the start and end of the segment corresponding to the provided index from the offsets array. +2. Get the value from segment using offset and length calculated based on the start and end of the segment. +3. Throw `OffsetOutOfBounds` error if the length of the segment is greater than the length of the concatenated data._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| offsets | Offsets | The offsets encoding the start and end of each segment within the concatenated calldata. | +| concat | bytes | The concatenated calldata. | +| index | uint256 | The index of the segment to retrieve. The field index 0 corresponds to the lowest bytes of the offsets array. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +result | bytes | The calldata from a segment of the concatenated calldata corresponding to the provided index. | + +### Errors +### OffsetOutOfBounds + +```solidity +error OffsetOutOfBounds() +``` + +_Error to be thrown when the offset is out of bounds._ + diff --git a/docs/libraries/RemainingInvalidatorLib.md b/docs/libraries/RemainingInvalidatorLib.md new file mode 100644 index 00000000..c73e40ae --- /dev/null +++ b/docs/libraries/RemainingInvalidatorLib.md @@ -0,0 +1,126 @@ + +## RemainingInvalidator + +## RemainingInvalidatorLib + +The library provides a mechanism to invalidate order based on the remaining amount of the order. + +_The remaining amount is used as a nonce to invalidate the order. +When order is created, the remaining invalidator is 0. +When order is filled, the remaining invalidator is the inverse of the remaining amount._ + +### Functions list +- [isNewOrder(invalidator) internal](#isneworder) +- [remaining(invalidator) internal](#remaining) +- [remaining(invalidator, orderMakerAmount) internal](#remaining) +- [remains(remainingMakingAmount, makingAmount) internal](#remains) +- [fullyFilled() internal](#fullyfilled) + +### Errors list +- [RemainingInvalidatedOrder() ](#remaininginvalidatedorder) + +### Functions +### isNewOrder + +```solidity +function isNewOrder(RemainingInvalidator invalidator) internal pure returns (bool) +``` +Checks if an order is new based on the invalidator value. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| invalidator | RemainingInvalidator | The remaining invalidator of the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result Whether the order is new or not. | + +### remaining + +```solidity +function remaining(RemainingInvalidator invalidator) internal pure returns (uint256) +``` +Retrieves the remaining amount for an order. + +_If the order is unknown, a RemainingInvalidatedOrder error is thrown._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| invalidator | RemainingInvalidator | The remaining invalidator for the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The remaining amount for the order. | + +### remaining + +```solidity +function remaining(RemainingInvalidator invalidator, uint256 orderMakerAmount) internal pure returns (uint256) +``` +Calculates the remaining amount for an order. + +_If the order is unknown, the order maker amount is returned._ + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| invalidator | RemainingInvalidator | The remaining invalidator for the order. | +| orderMakerAmount | uint256 | The amount to return if the order is new. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The remaining amount for the order. | + +### remains + +```solidity +function remains(uint256 remainingMakingAmount, uint256 makingAmount) internal pure returns (RemainingInvalidator) +``` +Calculates the remaining invalidator of the order. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| remainingMakingAmount | uint256 | The remaining making amount of the order. | +| makingAmount | uint256 | The making amount of the order. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | RemainingInvalidator | result The remaining invalidator for the order. | + +### fullyFilled + +```solidity +function fullyFilled() internal pure returns (RemainingInvalidator) +``` +Provides the remaining invalidator for a fully filled order. + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | RemainingInvalidator | result The remaining invalidator for a fully filled order. | + +### Errors +### RemainingInvalidatedOrder + +```solidity +error RemainingInvalidatedOrder() +``` + +_The error is thrown when an attempt is made to invalidate an already invalidated entity._ + diff --git a/docs/libraries/TakerTraitsLib.md b/docs/libraries/TakerTraitsLib.md new file mode 100644 index 00000000..c1412ac5 --- /dev/null +++ b/docs/libraries/TakerTraitsLib.md @@ -0,0 +1,182 @@ + +## TakerTraits + +## TakerTraitsLib + +This library to manage and check TakerTraits, which are used to encode the taker's preferences for an order in a single uint256. + +_The TakerTraits are structured as follows: +High bits are used for flags +255 bit `_MAKER_AMOUNT_FLAG` - If set, the taking amount is calculated based on making amount, otherwise making amount is calculated based on taking amount. +254 bit `_UNWRAP_WETH_FLAG` - If set, the WETH will be unwrapped into ETH before sending to taker. +253 bit `_SKIP_ORDER_PERMIT_FLAG` - If set, the order skips maker's permit execution. +252 bit `_USE_PERMIT2_FLAG` - If set, the order uses the permit2 function for authorization. +251 bit `_ARGS_HAS_TARGET` - If set, then first 20 bytes of args are treated as target address for maker’s funds transfer. +224-247 bits `ARGS_EXTENSION_LENGTH` - The length of the extension calldata in the args. +200-223 bits `ARGS_INTERACTION_LENGTH` - The length of the interaction calldata in the args. +0-184 bits - The threshold amount (the maximum amount a taker agrees to give in exchange for a making amount)._ + +### Functions list +- [argsHasTarget(takerTraits) internal](#argshastarget) +- [argsExtensionLength(takerTraits) internal](#argsextensionlength) +- [argsInteractionLength(takerTraits) internal](#argsinteractionlength) +- [isMakingAmount(takerTraits) internal](#ismakingamount) +- [unwrapWeth(takerTraits) internal](#unwrapweth) +- [skipMakerPermit(takerTraits) internal](#skipmakerpermit) +- [usePermit2(takerTraits) internal](#usepermit2) +- [threshold(takerTraits) internal](#threshold) + +### Functions +### argsHasTarget + +```solidity +function argsHasTarget(TakerTraits takerTraits) internal pure returns (bool) +``` +Checks if the args should contain target address. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the args should contain target address. | + +### argsExtensionLength + +```solidity +function argsExtensionLength(TakerTraits takerTraits) internal pure returns (uint256) +``` +Retrieves the length of the extension calldata from the takerTraits. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The length of the extension calldata encoded in the takerTraits. | + +### argsInteractionLength + +```solidity +function argsInteractionLength(TakerTraits takerTraits) internal pure returns (uint256) +``` +Retrieves the length of the interaction calldata from the takerTraits. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The length of the interaction calldata encoded in the takerTraits. | + +### isMakingAmount + +```solidity +function isMakingAmount(TakerTraits takerTraits) internal pure returns (bool) +``` +Checks if the taking amount should be calculated based on making amount. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the taking amount should be calculated based on making amount. | + +### unwrapWeth + +```solidity +function unwrapWeth(TakerTraits takerTraits) internal pure returns (bool) +``` +Checks if the order should unwrap WETH and send ETH to taker. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the order should unwrap WETH. | + +### skipMakerPermit + +```solidity +function skipMakerPermit(TakerTraits takerTraits) internal pure returns (bool) +``` +Checks if the order should skip maker's permit execution. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the order don't apply permit. | + +### usePermit2 + +```solidity +function usePermit2(TakerTraits takerTraits) internal pure returns (bool) +``` +Checks if the order uses the permit2 instead of permit. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | bool | result A boolean indicating whether the order uses the permit2. | + +### threshold + +```solidity +function threshold(TakerTraits takerTraits) internal pure returns (uint256) +``` +Retrieves the threshold amount from the takerTraits. +The maximum amount a taker agrees to give in exchange for a making amount. + +#### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| takerTraits | TakerTraits | The traits of the taker. | + +#### Return Values + +| Name | Type | Description | +| ---- | ---- | ----------- | +[0] | uint256 | result The threshold amount encoded in the takerTraits. | + diff --git a/hardhat.config.js b/hardhat.config.js index b14f3071..656dabf2 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -2,11 +2,13 @@ require('@matterlabs/hardhat-zksync-deploy'); require('@matterlabs/hardhat-zksync-solc'); require('@nomicfoundation/hardhat-chai-matchers'); require('solidity-coverage'); +require('solidity-docgen'); require('hardhat-dependency-compiler'); require('hardhat-deploy'); require('hardhat-gas-reporter'); require('hardhat-tracer'); require('dotenv').config(); +const { oneInchTemplates } = require('@1inch/solidity-utils/docgen'); const { Networks, getNetwork } = require('@1inch/solidity-utils/hardhat-setup'); if (getNetwork().indexOf('zksync') !== -1) { @@ -55,4 +57,10 @@ module.exports = { compilerSource: 'binary', settings: {}, }, + docgen: { + outputDir: 'docs', + templates: oneInchTemplates(), + pages: 'files', + exclude: ['mocks'], + }, }; diff --git a/package.json b/package.json index c65118bd..727ddc0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@1inch/limit-order-protocol-contract", - "version": "4.1.0", + "version": "4.1.1", "description": "1inch Limit Order Protocol", "repository": { "type": "git", @@ -16,46 +16,46 @@ "test/helpers" ], "dependencies": { - "@1inch/solidity-utils": "4.2.1", + "@1inch/solidity-utils": "6.0.0", "@chainlink/contracts": "0.8.0", "@gnosis.pm/safe-contracts": "1.3.0", - "@openzeppelin/contracts": "5.0.2" + "@openzeppelin/contracts": "5.1.0" }, "devDependencies": { - "@matterlabs/hardhat-zksync-deploy": "1.1.2", - "@matterlabs/hardhat-zksync-solc": "1.0.6", - "@matterlabs/hardhat-zksync-verify": "1.2.2", - "@metamask/eth-sig-util": "7.0.1", - "@nomicfoundation/hardhat-chai-matchers": "2.0.3", - "@nomicfoundation/hardhat-network-helpers": "1.0.10", - "@nomicfoundation/hardhat-verify": "2.0.3", - "@nomicfoundation/hardhat-ethers": "3.0.5", - "@uniswap/permit2-sdk": "1.2.0", - "chai": "4.4.0", - "dotenv": "16.3.1", - "eslint": "8.56.0", + "@matterlabs/hardhat-zksync-deploy": "1.6.0", + "@matterlabs/hardhat-zksync-solc": "1.2.5", + "@matterlabs/hardhat-zksync-verify": "1.7.0", + "@metamask/eth-sig-util": "8.0.0", + "@nomicfoundation/hardhat-chai-matchers": "2.0.8", + "@nomicfoundation/hardhat-network-helpers": "1.0.12", + "@nomicfoundation/hardhat-verify": "2.0.11", + "@nomicfoundation/hardhat-ethers": "3.0.8", + "@uniswap/permit2-sdk": "1.3.0", + "chai": "4.5.0", + "dotenv": "16.4.5", + "eslint": "8.57.1", "eslint-config-standard": "17.1.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-n": "16.6.2", - "eslint-plugin-promise": "6.1.1", - "ethers": "6.10.0", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-n": "17.13.0", + "eslint-plugin-promise": "7.1.0", + "ethers": "6.13.4", "hardhat": "2.19.4", - "hardhat-dependency-compiler": "1.1.3", + "hardhat-dependency-compiler": "1.2.1", "hardhat-deploy": "0.11.45", - "hardhat-gas-reporter": "1.0.9", + "hardhat-gas-reporter": "1.0.10", "hardhat-tracer": "2.7.0", - "rimraf": "5.0.5", - "solc": "0.8.23-fixed", - "solhint": "4.1.1", - "solidity-coverage": "0.8.7", - "solidity-docgen": "0.5.17", - "zksync-ethers": "6.0.0" + "rimraf": "6.0.1", + "solc": "0.8.28", + "solhint": "5.0.3", + "solidity-coverage": "0.8.13", + "solidity-docgen": "0.6.0-beta.36", + "zksync-ethers": "6.15.0" }, "scripts": { "clean": "rimraf artifacts cache coverage contracts/hardhat-dependency-compiler artifacts-zk cache-zk", "deploy": "hardhat deploy --network", "coverage": "hardhat coverage", - "docify": "npx solidity-utils-docify", + "docify": "yarn hardhat docgen", "lint:js": "eslint .", "lint:js:fix": "eslint . --fix", "lint:sol": "solhint --max-warnings 0 \"contracts/**/*.sol\"", diff --git a/test/LimitOrderProtocol.js b/test/LimitOrderProtocol.js index c4cc301b..92d96f00 100644 --- a/test/LimitOrderProtocol.js +++ b/test/LimitOrderProtocol.js @@ -2040,8 +2040,8 @@ describe('LimitOrderProtocol', function () { it('pause and unpause can only be called by owner', async function () { const { contracts: { swap } } = await loadFixture(deployContractsAndInit); - await expect(swap.connect(addr2).pause()).to.be.revertedWithCustomError(swap, 'OwnableUnauthorizedAccount', addr2.address); - await expect(swap.connect(addr2).unpause()).to.be.revertedWithCustomError(swap, 'OwnableUnauthorizedAccount', addr2.address); + await expect(swap.connect(addr2).pause()).to.be.revertedWithCustomError(swap, 'OwnableUnauthorizedAccount').withArgs(addr2.address); + await expect(swap.connect(addr2).unpause()).to.be.revertedWithCustomError(swap, 'OwnableUnauthorizedAccount').withArgs(addr2.address); }); it('unpause should work', async function () { diff --git a/yarn.lock b/yarn.lock index 6ce26a77..0bc7bf0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,31 +2,26 @@ # yarn lockfile v1 -"@1inch/solidity-utils@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@1inch/solidity-utils/-/solidity-utils-4.2.1.tgz#1feb6887ebc6ecc9ec2c1a1cde4963a2704cdc06" - integrity sha512-Xx7KXzBRAxVukNHIcki0yQkbY+dK9vZRnxSTfA/SLwH+zotMArqOohtmbRsuBxZQQ1c9XNqBOuDhufOVoyZYew== - dependencies: - "@metamask/eth-sig-util" "7.0.1" - "@nomicfoundation/hardhat-ethers" "3.0.5" - "@nomicfoundation/hardhat-network-helpers" "1.0.10" - "@nomicfoundation/hardhat-verify" "2.0.5" - "@openzeppelin/contracts" "5.0.2" - "@uniswap/permit2-sdk" "1.2.0" - chai "4.4.0" +"@1inch/solidity-utils@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@1inch/solidity-utils/-/solidity-utils-6.0.0.tgz#a04cba02078ce83239cc4f6e4f3824bf7fc32a46" + integrity sha512-MvpFE8G0uts8PQI+p2Zdts+md53ycYV968mPtoGC3fMCZ+c2T+sSxwI24RLtIKn3wN/Y4ywzXKTvJZwYZbzJPA== + dependencies: + "@metamask/eth-sig-util" "8.0.0" + "@nomicfoundation/hardhat-ethers" "3.0.8" + "@nomicfoundation/hardhat-network-helpers" "1.0.12" + "@nomicfoundation/hardhat-verify" "2.0.11" + "@openzeppelin/contracts" "5.1.0" + "@uniswap/permit2-sdk" "1.3.0" + chai "4.5.0" dotenv "16.4.5" ethereumjs-util "7.1.5" - ethers "6.11.1" - hardhat "2.22.2" - hardhat-deploy "0.12.2" - mocha-chai-jest-snapshot "1.1.4" + ethers "6.13.4" + hardhat "2.22.15" + hardhat-deploy "0.14.0" + mocha-chai-jest-snapshot "1.1.6" node-fetch "2.7.0" -"@adraffy/ens-normalize@1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" - integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== - "@adraffy/ens-normalize@1.10.1": version "1.10.1" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" @@ -40,131 +35,114 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" - integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== +"@babel/compat-data@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" + integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== "@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.7.2": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" - integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== +"@babel/generator@^7.25.9", "@babel/generator@^7.26.0", "@babel/generator@^7.7.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== dependencies: - "@babel/types" "^7.25.0" + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" - integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/parser@^7.14.7", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" - integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== +"@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== dependencies: - "@babel/types" "^7.25.2" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + +"@babel/parser@^7.14.7", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -180,14 +158,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -201,7 +193,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -215,7 +214,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -243,7 +242,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -251,42 +257,41 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/template@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2", "@babel/traverse@^7.7.2": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" - integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.3" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.2" + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" - integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== +"@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.3.3": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" "@balena/dockerignore@^1.0.2": version "1.0.2" @@ -339,24 +344,17 @@ "@chainsafe/persistent-merkle-tree" "^0.4.2" case "^1.6.3" -"@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" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.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== +"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== dependencies: - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.6.1": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -373,10 +371,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== "@eth-optimism/contracts@^0.5.21": version "0.5.40" @@ -793,12 +791,12 @@ resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-contracts/-/safe-contracts-1.3.0.tgz#316741a7690d8751a1f701538cfc9ec80866eedc" integrity sha512-1p+1HwGvxGUVzVkFjNzglwHrLNA67U/axP0Ct85FzzH8yhGJb4t9jDjPYocVMzLorDoWAfKicGy1akPY9jXRVw== -"@humanwhocodes/config-array@^0.11.13": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^2.0.2" + "@humanwhocodes/object-schema" "^2.0.3" debug "^4.3.1" minimatch "^3.0.5" @@ -807,7 +805,7 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.2": +"@humanwhocodes/object-schema@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== @@ -840,69 +838,69 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/expect-utils@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" - integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: - jest-get-type "^28.0.2" + jest-get-type "^29.6.3" -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: - "@sinclair/typebox" "^0.24.1" + "@sinclair/typebox" "^0.27.8" -"@jest/test-result@^28.1.1": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/transform@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" - integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^4.0.1" + write-file-atomic "^4.0.2" -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: - "@jest/schemas" "^28.1.3" + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -918,7 +916,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== @@ -933,15 +931,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -949,31 +939,25 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@matterlabs/hardhat-zksync-deploy@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-deploy/-/hardhat-zksync-deploy-1.1.2.tgz#6ea95640a2e1db40395616d07819f32d437a7dde" - integrity sha512-Q9eBvMUAoodRFPmfzoHTkNKKYNs6oib2utZsxTPf6cq+mhdu7sqfY5Bu0XQzZQW35xzi5D23p9v1ubhOrGXK9Q== - dependencies: - "@matterlabs/hardhat-zksync-solc" "^1.0.4" - chalk "4.1.2" - ts-morph "^21.0.1" - -"@matterlabs/hardhat-zksync-solc@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-1.0.6.tgz#7ef8438e6bb15244691600e2afa77aaff7dff9f0" - integrity sha512-0icYSufXba/Bbb7v2iXuZJ+IbYsiNpR4Wy6UizHnGuFw3OMHgh+saebQphuaN9yyRL2UPGZbPkQFHWBLZj5/xQ== +"@matterlabs/hardhat-zksync-deploy@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-deploy/-/hardhat-zksync-deploy-1.6.0.tgz#005a02dc63fe3d64e4892de485d7c72c75cc1f4a" + integrity sha512-yaOfhw7hmLOriBc+TnHrFOVKyi79XFqJN5D1Z4T6CadaSNLeq7pgBV81kkgVzaCJVoA/La2RGxPowsG7riZGbw== dependencies: - "@nomiclabs/hardhat-docker" "^2.0.0" - chalk "4.1.2" - dockerode "^4.0.0" - fs-extra "^11.1.1" - proper-lockfile "^4.1.2" - semver "^7.5.1" + "@matterlabs/hardhat-zksync-solc" "^1.2.5" + chai "^4.3.4" + chalk "^4.1.2" + fs-extra "^11.2.0" + glob "^10.4.1" + lodash "^4.17.21" + sinon "^18.0.0" + sinon-chai "^3.7.0" + ts-morph "^22.0.0" -"@matterlabs/hardhat-zksync-solc@^1.0.3", "@matterlabs/hardhat-zksync-solc@^1.0.4": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-1.2.1.tgz#07235fbe3905a144c58cddd3d8bfe8cc1b1824ac" - integrity sha512-009FEm1qSYTooamd+T8iylIhpk6zT80RnHd9fqZoCWFM49xR1foegAv76oOMyFMsHuSHDbwkWyTSNDo7U5vAzQ== +"@matterlabs/hardhat-zksync-solc@1.2.5", "@matterlabs/hardhat-zksync-solc@^1.2.5": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-solc/-/hardhat-zksync-solc-1.2.5.tgz#fbeeabc3fea0dd232fa3c8cb31bd93c103eba11a" + integrity sha512-iZyznWl1Hoe/Z46hnUe1s2drBZBjJOS/eN+Ql2lIBX9B6NevBl9DYzkKzH5HEIMCLGnX9sWpRAJqUQJWy9UB6w== dependencies: "@nomiclabs/hardhat-docker" "^2.0.2" chai "^4.3.4" @@ -987,18 +971,25 @@ sinon-chai "^3.7.0" undici "^6.18.2" -"@matterlabs/hardhat-zksync-verify@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-verify/-/hardhat-zksync-verify-1.2.2.tgz#3cc568a65a5ef37e605e035afbcbddbcc116221c" - integrity sha512-l3q5JHlFA1O28TamAUcMtD/gVzDDeoyeVohGNpwYZ5qb8dPkWS3DkYCIrvsQFR4mHDzqoGKEZt1IKG/a/lYU+Q== +"@matterlabs/hardhat-zksync-verify@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@matterlabs/hardhat-zksync-verify/-/hardhat-zksync-verify-1.7.0.tgz#462a3bb015186e0de0eb68c95bf0bd360678b951" + integrity sha512-jQnrnE9uDfdP1KaG/GLs0J8+5efH97yRmNFzYuokT5qrSU0y6Ws6OFJmgDodB7hHnWOD6FSU9TebaFlAxxtFOA== dependencies: - "@matterlabs/hardhat-zksync-solc" "^1.0.3" - "@nomicfoundation/hardhat-verify" "^2.0.0" - axios "^1.6.2" - chalk "4.1.2" - zksync-ethers "^6.0.0" + "@ethersproject/abi" "^5.7.0" + "@ethersproject/address" "5.7.0" + "@matterlabs/hardhat-zksync-solc" "^1.2.5" + "@nomicfoundation/hardhat-verify" "^2.0.8" + axios "^1.7.2" + cbor "^9.0.2" + chai "^4.3.4" + chalk "^4.1.2" + debug "^4.3.5" + semver "^7.6.2" + sinon "^18.0.0" + sinon-chai "^3.7.0" -"@metamask/abi-utils@^2.0.2": +"@metamask/abi-utils@^2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@metamask/abi-utils/-/abi-utils-2.0.4.tgz#20908c1d910f7a17a89fdf5778a5c59d5cb8b8be" integrity sha512-StnIgUB75x7a7AgUhiaUZDpCsqGp7VkNnZh2XivXkJ6mPkE83U8ARGQj5MbRis7VJY8BC5V1AbB1fjdh0hupPQ== @@ -1006,17 +997,17 @@ "@metamask/superstruct" "^3.1.0" "@metamask/utils" "^9.0.0" -"@metamask/eth-sig-util@7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-7.0.1.tgz#ad3227d6120f15f9293478de7dd9685a5c329586" - integrity sha512-59GSrMyFH2fPfu7nKeIQdZ150zxXNNhAQIUaFRUW+MGtVA4w/ONbiQobcRBLi+jQProfIyss51G8pfLPcQ0ylg== +"@metamask/eth-sig-util@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-8.0.0.tgz#6310d93cd1101cab3cc6bc2a1ff526290ed2695b" + integrity sha512-IwE6aoxUL39IhmsAgE4nk+OZbNo+ThFZRNsUjE1pjdEa4MFpWzm1Rue4zJ5DMy1oUyZBi/aiCLMhdMnjl2bh2Q== dependencies: "@ethereumjs/util" "^8.1.0" - "@metamask/abi-utils" "^2.0.2" - "@metamask/utils" "^8.1.0" + "@metamask/abi-utils" "^2.0.4" + "@metamask/utils" "^9.0.0" + "@scure/base" "~1.1.3" ethereum-cryptography "^2.1.2" tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" "@metamask/eth-sig-util@^4.0.0": version "4.0.1" @@ -1029,30 +1020,15 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" -"@metamask/superstruct@^3.0.0", "@metamask/superstruct@^3.1.0": +"@metamask/superstruct@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@metamask/superstruct/-/superstruct-3.1.0.tgz#148f786a674fba3ac885c1093ab718515bf7f648" integrity sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA== -"@metamask/utils@^8.1.0": - version "8.5.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.5.0.tgz#ddd0d4012d5191809404c97648a837ea9962cceb" - integrity sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ== - dependencies: - "@ethereumjs/tx" "^4.2.0" - "@metamask/superstruct" "^3.0.0" - "@noble/hashes" "^1.3.1" - "@scure/base" "^1.1.3" - "@types/debug" "^4.1.7" - debug "^4.3.4" - pony-cause "^2.1.10" - semver "^7.5.4" - uuid "^9.0.1" - "@metamask/utils@^9.0.0": - version "9.1.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-9.1.0.tgz#54e5afcec07e6032d4dd4171e862b36daa52d77e" - integrity sha512-g2REf+xSt0OZfMoNNdC4+/Yy8eP3KUqvIArel54XRFKPoXbHI6+YjFfrLtfykWBjffOp7DTfIc3Kvk5TLfuiyg== + version "9.3.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-9.3.0.tgz#4726bd7f5d6a43ea8425b6d663ab9207f617c2d1" + integrity sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g== dependencies: "@ethereumjs/tx" "^4.2.0" "@metamask/superstruct" "^3.1.0" @@ -1088,11 +1064,16 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@1.4.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -1119,53 +1100,53 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nomicfoundation/edr-darwin-arm64@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.3.8.tgz#09de1f03c0336670fce959f376f0fe9137545836" - integrity sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw== - -"@nomicfoundation/edr-darwin-x64@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.3.8.tgz#c3ca237c74ed3b6fb800fd7f1de7174f4ad24f72" - integrity sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw== - -"@nomicfoundation/edr-linux-arm64-gnu@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.3.8.tgz#08bd367789e745f4e78a8a87368fc470eea8a7de" - integrity sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA== - -"@nomicfoundation/edr-linux-arm64-musl@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.3.8.tgz#9cab5cbec0052cb5812c6c66c463d28a756cd916" - integrity sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A== - -"@nomicfoundation/edr-linux-x64-gnu@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.3.8.tgz#d4a11b6ebcd1b29d7431d185c6df3e65a2cd4bde" - integrity sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg== - -"@nomicfoundation/edr-linux-x64-musl@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.3.8.tgz#b8eef960d06380a365866ddd1e97ecb7fbf6bd70" - integrity sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w== - -"@nomicfoundation/edr-win32-x64-msvc@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.3.8.tgz#ac7061aeb07cc847c429513080b76bb05297a869" - integrity sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ== - -"@nomicfoundation/edr@^0.3.1": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.3.8.tgz#28fe7ae4f462ae74a16cd1a714ff7b1cd9c22b4c" - integrity sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg== - dependencies: - "@nomicfoundation/edr-darwin-arm64" "0.3.8" - "@nomicfoundation/edr-darwin-x64" "0.3.8" - "@nomicfoundation/edr-linux-arm64-gnu" "0.3.8" - "@nomicfoundation/edr-linux-arm64-musl" "0.3.8" - "@nomicfoundation/edr-linux-x64-gnu" "0.3.8" - "@nomicfoundation/edr-linux-x64-musl" "0.3.8" - "@nomicfoundation/edr-win32-x64-msvc" "0.3.8" +"@nomicfoundation/edr-darwin-arm64@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.6.4.tgz#6eaa64a6ea5201e4c92b121f2b7fd197b26e450a" + integrity sha512-QNQErISLgssV9+qia8sIjRANqtbW8snSDvjspixT/kSQ5ZSGxxctTg7x72wPSrcu8+EBEveIe5uqENIp5GH8HQ== + +"@nomicfoundation/edr-darwin-x64@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.6.4.tgz#d15ca89e9deef7d0a710cf90e79f3cc270a5a999" + integrity sha512-cjVmREiwByyc9+oGfvAh49IAw+oVJHF9WWYRD+Tm/ZlSpnEVWxrGNBak2bd/JSYjn+mZE7gmWS4SMRi4nKaLUg== + +"@nomicfoundation/edr-linux-arm64-gnu@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.6.4.tgz#e73c41ca015dfddb5f4cb6cd3d9b2cbe5cc28989" + integrity sha512-96o9kRIVD6W5VkgKvUOGpWyUGInVQ5BRlME2Fa36YoNsRQMaKtmYJEU0ACosYES6ZTpYC8U5sjMulvPtVoEfOA== + +"@nomicfoundation/edr-linux-arm64-musl@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.6.4.tgz#90906f733e4ad26657baeb22d28855d934ab7541" + integrity sha512-+JVEW9e5plHrUfQlSgkEj/UONrIU6rADTEk+Yp9pbe+mzNkJdfJYhs5JYiLQRP4OjxH4QOrXI97bKU6FcEbt5Q== + +"@nomicfoundation/edr-linux-x64-gnu@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.6.4.tgz#11b8bd73df145a192e5a08199e5e81995fcde502" + integrity sha512-nzYWW+fO3EZItOeP4CrdMgDXfaGBIBkKg0Y/7ySpUxLqzut40O4Mb0/+quqLAFkacUSWMlFp8nsmypJfOH5zoA== + +"@nomicfoundation/edr-linux-x64-musl@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.6.4.tgz#a34b9a2c9e34853207824dc81622668a069ca642" + integrity sha512-QFRoE9qSQ2boRrVeQ1HdzU+XN7NUgwZ1SIy5DQt4d7jCP+5qTNsq8LBNcqhRBOATgO63nsweNUhxX/Suj5r1Sw== + +"@nomicfoundation/edr-win32-x64-msvc@0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.6.4.tgz#ca035c6f66ae9f88fa3ef123a1f3a2099cce7a5a" + integrity sha512-2yopjelNkkCvIjUgBGhrn153IBPLwnsDeNiq6oA0WkeM8tGmQi4td+PGi9jAriUDAkc59Yoi2q9hYA6efiY7Zw== + +"@nomicfoundation/edr@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.6.4.tgz#1cd336c46a60f5af774e6cf0f1943f49f63dded6" + integrity sha512-YgrSuT3yo5ZQkbvBGqQ7hG+RDvz3YygSkddg4tb1Z0Y6pLXFzwrcEwWaJCFAVeeZxdxGfCgGMUYgRVneK+WXkw== + dependencies: + "@nomicfoundation/edr-darwin-arm64" "0.6.4" + "@nomicfoundation/edr-darwin-x64" "0.6.4" + "@nomicfoundation/edr-linux-arm64-gnu" "0.6.4" + "@nomicfoundation/edr-linux-arm64-musl" "0.6.4" + "@nomicfoundation/edr-linux-x64-gnu" "0.6.4" + "@nomicfoundation/edr-linux-x64-musl" "0.6.4" + "@nomicfoundation/edr-win32-x64-msvc" "0.6.4" "@nomicfoundation/ethereumjs-block@5.0.2": version "5.0.2" @@ -1331,65 +1312,35 @@ mcl-wasm "^0.7.1" rustbn.js "~0.2.0" -"@nomicfoundation/hardhat-chai-matchers@2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.3.tgz#f4c074d39b74bd283c99e2c2bf143e3cef51ae18" - integrity sha512-A40s7EAK4Acr8UP1Yudgi9GGD9Cca/K3LHt3DzmRIje14lBfHtg9atGQ7qK56vdPcTwKmeaGn30FzxMUfPGEMw== +"@nomicfoundation/hardhat-chai-matchers@2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.0.8.tgz#9c7cfc4ad0f0a5e9cf16aba8ab668c02f6e273aa" + integrity sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg== dependencies: "@types/chai-as-promised" "^7.1.3" chai-as-promised "^7.1.1" deep-eql "^4.0.1" ordinal "^1.0.3" -"@nomicfoundation/hardhat-ethers@3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.5.tgz#0422c2123dec7c42e7fb2be8e1691f1d9708db56" - integrity sha512-RNFe8OtbZK6Ila9kIlHp0+S80/0Bu/3p41HUpaRIoHLm6X3WekTd83vob3rE54Duufu1edCiBDxspBzi2rxHHw== +"@nomicfoundation/hardhat-ethers@3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.8.tgz#af078f566373abeb77e11cbe69fe3dd47f8bfc27" + integrity sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA== dependencies: debug "^4.1.1" lodash.isequal "^4.5.0" -"@nomicfoundation/hardhat-network-helpers@1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.10.tgz#c61042ceb104fdd6c10017859fdef6529c1d6585" - integrity sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ== +"@nomicfoundation/hardhat-network-helpers@1.0.12": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.12.tgz#2c0abec0c50b75f9d0d71776e49e3b5ef746d289" + integrity sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA== dependencies: ethereumjs-util "^7.1.4" -"@nomicfoundation/hardhat-verify@2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.3.tgz#173557f8cfa53c8c9da23a326f54d24fe459ae68" - integrity sha512-ESbRu9by53wu6VvgwtMtm108RSmuNsVqXtzg061D+/4R7jaWh/Wl/8ve+p6SdDX7vA1Z3L02hDO1Q3BY4luLXQ== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - chalk "^2.4.2" - debug "^4.1.1" - lodash.clonedeep "^4.5.0" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - -"@nomicfoundation/hardhat-verify@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.5.tgz#dcc2cb5e5c55a39704c7d492436f80f05a4ca5a3" - integrity sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - chalk "^2.4.2" - debug "^4.1.1" - lodash.clonedeep "^4.5.0" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - -"@nomicfoundation/hardhat-verify@^2.0.0": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz#98a1c9a3742b008be71a709d074f10dec23bc5f0" - integrity sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ== +"@nomicfoundation/hardhat-verify@2.0.11", "@nomicfoundation/hardhat-verify@^2.0.8": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.11.tgz#4ce12b592e01ee93a81933924609c233ed00d951" + integrity sha512-lGIo4dNjVQFdsiEgZp3KP6ntLiF7xJEJsbNHfSyIiFCyI0Yv0518ElsFtMC5uCuHEChiBBMrib9jWQvHHT+X3Q== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" @@ -1449,7 +1400,7 @@ "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" -"@nomiclabs/hardhat-docker@^2.0.0", "@nomiclabs/hardhat-docker@^2.0.2": +"@nomiclabs/hardhat-docker@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-docker/-/hardhat-docker-2.0.2.tgz#ae964be17951275a55859ff7358e9e7c77448846" integrity sha512-XgGEpRT3wlA1VslyB57zyAHV+oll8KnV1TjwnxxC1tpAL04/lbdwpdO5KxInVN8irMSepqFpsiSkqlcnvbE7Ng== @@ -1458,124 +1409,6 @@ fs-extra "^7.0.1" node-fetch "^2.6.0" -"@oclif/command@^1.8.0": - version "1.8.36" - resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.8.36.tgz#9739b9c268580d064a50887c4597d1b4e86ca8b5" - integrity sha512-/zACSgaYGtAQRzc7HjzrlIs14FuEYAZrMOEwicRoUnZVyRunG4+t5iSEeQu0Xy2bgbCD0U1SP/EdeNZSTXRwjQ== - dependencies: - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.6" - "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.17" - debug "^4.1.1" - semver "^7.5.4" - -"@oclif/config@1.18.16": - version "1.18.16" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.16.tgz#3235d260ab1eb8388ebb6255bca3dd956249d796" - integrity sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.16" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.6.1" - -"@oclif/config@^1.17.0", "@oclif/config@^1.18.2": - version "1.18.17" - resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.18.17.tgz#00aa4049da27edca8f06fc106832d9f0f38786a5" - integrity sha512-k77qyeUvjU8qAJ3XK3fr/QVAqsZO8QOBuESnfeM5HHtPNLSyfVcwiMM2zveSW5xRdLSG3MfV8QnLVkuyCL2ENg== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/parser" "^3.8.17" - debug "^4.3.4" - globby "^11.1.0" - is-wsl "^2.1.1" - tslib "^2.6.1" - -"@oclif/core@^2.15.0": - version "2.16.0" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.16.0.tgz#e6f3c6c359d4313a15403d8652bbdd0e99ce4b3a" - integrity sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw== - dependencies: - "@types/cli-progress" "^3.11.0" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.12.0" - debug "^4.3.4" - ejs "^3.1.8" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - ts-node "^10.9.1" - tslib "^2.5.0" - widest-line "^3.1.0" - wordwrap "^1.0.0" - wrap-ansi "^7.0.0" - -"@oclif/errors@1.3.6", "@oclif/errors@^1.3.3", "@oclif/errors@^1.3.6": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.3.6.tgz#e8fe1fc12346cb77c4f274e26891964f5175f75d" - integrity sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ== - dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -"@oclif/help@^1.0.1": - version "1.0.15" - resolved "https://registry.yarnpkg.com/@oclif/help/-/help-1.0.15.tgz#5e36e576b8132a4906d2662204ad9de7ece87e8f" - integrity sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g== - dependencies: - "@oclif/config" "1.18.16" - "@oclif/errors" "1.3.6" - chalk "^4.1.2" - indent-string "^4.0.0" - lodash "^4.17.21" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^6.2.0" - -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - -"@oclif/parser@^3.8.16", "@oclif/parser@^3.8.17": - version "3.8.17" - resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.17.tgz#e1ce0f29b22762d752d9da1c7abd57ad81c56188" - integrity sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A== - dependencies: - "@oclif/errors" "^1.3.6" - "@oclif/linewrap" "^1.0.0" - chalk "^4.1.0" - tslib "^2.6.2" - -"@oclif/plugin-help@^5.0.0": - version "5.2.20" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.20.tgz#4035a0ac231f95fb8e334da342175e3ca00f6abc" - integrity sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ== - dependencies: - "@oclif/core" "^2.15.0" - "@openzeppelin/contracts-upgradeable-4.7.3@npm:@openzeppelin/contracts-upgradeable@v4.7.3": version "4.7.3" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.3.tgz#f1d606e2827d409053f3e908ba4eb8adb1dd6995" @@ -1586,10 +1419,10 @@ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.2.tgz#d81f786fda2871d1eb8a8c5a73e455753ba53527" integrity sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA== -"@openzeppelin/contracts@5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.0.2.tgz#b1d03075e49290d06570b2fd42154d76c2a5d210" - integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA== +"@openzeppelin/contracts@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.1.0.tgz#4e61162f2a2bf414c4e10c45eca98ce5f1aadbd4" + integrity sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA== "@openzeppelin/contracts@~4.3.3": version "4.3.3" @@ -1614,18 +1447,23 @@ graceful-fs "4.2.10" "@pnpm/npm-conf@^2.1.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.0.tgz#c687bd4eecd16347e197db3bfe7e28b12aa80bfd" - integrity sha512-DqrO+oXGR7HCuicNy6quk6ALJSDDPKI7RZz1bP5im8mSL8J2e+9w26LdkjuAfpAjOutYUJVbnXnx4IbTQeIgfw== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" + integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: "@pnpm/config.env-replace" "^1.1.0" "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" -"@scure/base@^1.1.3", "@scure/base@~1.1.0", "@scure/base@~1.1.6": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" - integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@scure/base@^1.1.3", "@scure/base@~1.1.0", "@scure/base@~1.1.3", "@scure/base@~1.1.6": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== "@scure/bip32@1.1.5": version "1.1.5" @@ -1729,23 +1567,16 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^5.2.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - "@sinonjs/commons@^3.0.0", "@sinonjs/commons@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" @@ -1753,26 +1584,33 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^11.2.2": +"@sinonjs/fake-timers@11.2.2": version "11.2.2" resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== dependencies: "@sinonjs/commons" "^3.0.0" +"@sinonjs/fake-timers@^13.0.1": + version "13.0.5" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz#36b9dbc21ad5546486ea9173d6bea063eb1717d5" + integrity sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw== + dependencies: + "@sinonjs/commons" "^3.0.1" + "@sinonjs/samsam@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.0.tgz#0d488c91efb3fa1442e26abea81759dfc8b5ac60" - integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== + version "8.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.2.tgz#e4386bf668ff36c95949e55a38dc5f5892fc2689" + integrity sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw== dependencies: - "@sinonjs/commons" "^2.0.0" + "@sinonjs/commons" "^3.0.1" lodash.get "^4.4.2" - type-detect "^4.0.8" + type-detect "^4.1.0" -"@sinonjs/text-encoding@^0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" - integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== +"@sinonjs/text-encoding@^0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz#282046f03e886e352b2d5f5da5eb755e01457f3f" + integrity sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA== "@solidity-parser/parser@^0.14.0": version "0.14.5" @@ -1781,13 +1619,6 @@ dependencies: antlr4ts "^0.5.0-alpha.4" -"@solidity-parser/parser@^0.16.0": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.2.tgz#42cb1e3d88b3e8029b0c9befff00b634cd92d2fa" - integrity sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg== - dependencies: - antlr4ts "^0.5.0-alpha.4" - "@solidity-parser/parser@^0.18.0": version "0.18.0" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.18.0.tgz#8e77a02a09ecce957255a2f48c9a7178ec191908" @@ -1800,43 +1631,16 @@ dependencies: defer-to-connect "^2.0.1" -"@ts-morph/common@~0.22.0": - version "0.22.0" - resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.22.0.tgz#8951d451622a26472fbc3a227d6c3a90e687a683" - integrity sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw== +"@ts-morph/common@~0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.23.0.tgz#bd4ddbd3f484f29476c8bd985491592ae5fc147e" + integrity sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA== dependencies: fast-glob "^3.3.2" minimatch "^9.0.3" mkdirp "^3.0.1" path-browserify "^1.0.1" -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== - dependencies: - "@babel/types" "^7.20.7" - "@types/bn.js@^4.11.3": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -1845,9 +1649,9 @@ "@types/node" "*" "@types/bn.js@^5.1.0": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== + version "5.1.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" + integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== dependencies: "@types/node" "*" @@ -1859,16 +1663,11 @@ "@types/chai" "*" "@types/chai@*": - version "4.3.17" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.17.tgz#9195f9d242f2ac3b429908864b6b871a8f73f489" - integrity sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow== - -"@types/cli-progress@^3.11.0": - version "3.11.6" - resolved "https://registry.yarnpkg.com/@types/cli-progress/-/cli-progress-3.11.6.tgz#94b334ebe4190f710e51c1bf9b4fedb681fa9e45" - integrity sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.0.1.tgz#2c3705555cf11f5f59c836a84c44afcfe4e5689d" + integrity sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA== dependencies: - "@types/node" "*" + "@types/deep-eql" "*" "@types/concat-stream@^1.6.0": version "1.6.1" @@ -1884,6 +1683,11 @@ dependencies: "@types/ms" "*" +"@types/deep-eql@*": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" + integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + "@types/form-data@0.0.33": version "0.0.33" resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" @@ -1951,16 +1755,18 @@ integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node@*": - version "22.1.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.1.0.tgz#6d6adc648b5e03f0e83c78dc788c2b037d0ad94b" - integrity sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw== + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: - undici-types "~6.13.0" + undici-types "~6.19.8" -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== +"@types/node@22.7.5": + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== + dependencies: + undici-types "~6.19.2" "@types/node@^10.0.3": version "10.17.60" @@ -1979,15 +1785,10 @@ dependencies: "@types/node" "*" -"@types/prettier@^2.1.5": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - "@types/qs@^6.2.31", "@types/qs@^6.9.7": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + version "6.9.17" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.17.tgz#fc560f60946d0aeff2f914eb41679659d3310e1a" + integrity sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ== "@types/readable-stream@^2.3.13": version "2.3.15" @@ -2015,9 +1816,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" @@ -2026,13 +1827,13 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@uniswap/permit2-sdk@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@uniswap/permit2-sdk/-/permit2-sdk-1.2.0.tgz#ed86440a87a6c318169c8e6f161fc263ad040891" - integrity sha512-Ietv3FxN7+RCXcPSED/i/8b0a2GUZrMdyX05k3FsSztvYKyPFAMS/hBXojF0NZqYB1bHecqYc7Ej+7tV/rdYXg== +"@uniswap/permit2-sdk@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@uniswap/permit2-sdk/-/permit2-sdk-1.3.0.tgz#b54124e570f0adbaca9d39b2de3054fd7d3798a1" + integrity sha512-LstYQWP47dwpQrgqBJ+ysFstne9LgI5FGiKHc2ewjj91MTY8Mq1reocu6U/VDncdR5ef30TUOcZ7gPExRY8r6Q== dependencies: - ethers "^5.3.1" - tiny-invariant "^1.3.1" + ethers "^5.7.0" + tiny-invariant "^1.1.0" JSONStream@1.3.2: version "1.3.2" @@ -2070,17 +1871,10 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.4.1, acorn@^8.9.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.9.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== adm-zip@^0.4.16: version "0.4.16" @@ -2149,7 +1943,7 @@ ansi-colors@^4.1.1, ansi-colors@^4.1.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: +ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -2167,9 +1961,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" @@ -2178,7 +1972,7 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2195,12 +1989,7 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== - -antlr4@^4.11.0: +antlr4@^4.13.1-patch-1: version "4.13.2" resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.13.2.tgz#0d084ad0e32620482a9c3a0e2470c02e72e4006d" integrity sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg== @@ -2218,11 +2007,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2243,7 +2027,7 @@ array-buffer-byte-length@^1.0.1: call-bind "^1.0.5" is-array-buffer "^3.0.4" -array-includes@^3.1.7: +array-includes@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== @@ -2265,7 +2049,7 @@ array-uniq@1.0.3: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== -array.prototype.findlastindex@^1.2.3: +array.prototype.findlastindex@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== @@ -2343,11 +2127,6 @@ async@1.x: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== -async@^3.2.3: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2367,10 +2146,10 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -axios@^1.5.1, axios@^1.6.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.3.tgz#a1125f2faf702bc8e8f2104ec3a76fab40257d85" - integrity sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw== +axios@^1.5.1, axios@^1.7.2: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -2388,22 +2167,25 @@ babel-plugin-istanbul@^6.1.1: test-exclude "^6.0.0" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" balanced-match@^1.0.0: version "1.0.2" @@ -2549,15 +2331,15 @@ browserify-aes@^1.2.0: inherits "^2.0.1" safe-buffer "^5.0.1" -browserslist@^4.23.1: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + update-browserslist-db "^1.1.1" bs58@^4.0.0: version "4.0.1" @@ -2627,27 +2409,15 @@ buffer@^6.0.3: ieee754 "^1.2.1" bufio@^1.0.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bufio/-/bufio-1.2.1.tgz#8d4ab3ddfcd5faa90f996f922f9397d41cbaf2de" - integrity sha512-9oR3zNdupcg/Ge2sSHQF3GX+kmvL/fTPvD0nd5AGLq8SjUYnTz+SlFjK/GXidndbZtIj+pVKXiWeR9w6e9wKCA== + version "1.2.2" + resolved "https://registry.yarnpkg.com/bufio/-/bufio-1.2.2.tgz#60a1b21e176cc9d432d4a6c52a01312e735d1753" + integrity sha512-sTsA0ka7sjge/bGUfjk00O/8kNfyeAvJjXXeyvgbXefIrf5GTp99W71qfmCP6FGHWbr4A0IjjM7dFj6bHXVMlw== buildcheck@~0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.6.tgz#89aa6e417cfd1e2196e3f8fe915eb709d2fe4238" integrity sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A== -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -builtins@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -2697,18 +2467,10 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001646: - version "1.0.30001649" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz#3ec700309ca0da2b0d3d5fb03c411b191761c992" - integrity sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ== - -cardinal@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" - integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== - dependencies: - ansicolors "~0.3.2" - redeyed "~2.1.0" +caniuse-lite@^1.0.30001669: + version "1.0.30001677" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f" + integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== case@^1.6.3: version "1.6.3" @@ -2732,6 +2494,13 @@ cbor@^8.1.0: dependencies: nofilter "^3.1.0" +cbor@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + chai-as-promised@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" @@ -2739,20 +2508,7 @@ chai-as-promised@^7.1.1: dependencies: check-error "^1.0.2" -chai@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.0.tgz#f9ac79f26726a867ac9d90a9b382120479d5f55b" - integrity sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chai@^4.3.4: +chai@4.5.0, chai@^4.3.4: version "4.5.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== @@ -2765,14 +2521,6 @@ chai@^4.3.4: pathval "^1.1.1" type-detect "^4.1.0" -chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, 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== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2782,6 +2530,14 @@ 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.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + "charenc@>= 0.0.1": version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -2809,6 +2565,13 @@ chokidar@^3.4.0, chokidar@^3.5.2, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" + chownr@^1.0.1, chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -2848,25 +2611,11 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-stack@^3.0.0, clean-stack@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8" - integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== - dependencies: - escape-string-regexp "4.0.0" - cli-boxes@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== -cli-progress@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" - integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== - dependencies: - string-width "^4.2.3" - cli-table3@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" @@ -2895,10 +2644,10 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -code-block-writer@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-12.0.0.tgz#4dd58946eb4234105aff7f0035977b2afdc2a770" - integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w== +code-block-writer@^13.0.1: + version "13.0.3" + resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-13.0.3.tgz#90f8a84763a5012da7af61319dd638655ae90b5b" + integrity sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg== collect-v8-coverage@^1.0.0: version "1.0.2" @@ -2984,11 +2733,6 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" -convert-source-map@^1.4.0: - 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== - convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -3014,7 +2758,7 @@ cosmiconfig@^8.0.0: parse-json "^5.2.0" path-type "^4.0.0" -cpu-features@~0.0.9: +cpu-features@~0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.10.tgz#9aae536db2710c7254d7ed67cb3cbc7d29ad79c5" integrity sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA== @@ -3050,12 +2794,7 @@ create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3102,11 +2841,11 @@ death@^1.1.0: integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.2.6, debug@^3.2.7: version "3.2.7" @@ -3177,15 +2916,10 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diff@^5.2.0: version "5.2.0" @@ -3235,7 +2969,7 @@ dockerode@^2.5.8: docker-modem "^1.0.8" tar-fs "~1.16.3" -dockerode@^4.0.0, dockerode@^4.0.2: +dockerode@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-4.0.2.tgz#dedc8529a1db3ac46d186f5912389899bc309f7d" integrity sha512-9wM1BVpVMFr2Pw3eJNXrYYt6DT9k0xMcsSCjtPvyQ+xa1iPg/Mo3T/gUcwI0B2cczqCeCYRPF8yFYDwtFXT0+w== @@ -3258,11 +2992,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dotenv@16.3.1: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - dotenv@16.4.5: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" @@ -3273,17 +3002,10 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -ejs@^3.1.8: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz#03bfdf422bdd2c05ee2657efedde21264a1a566b" - integrity sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA== +electron-to-chromium@^1.5.41: + version "1.5.52" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz#2bed832c95a56a195504f918150e548474687da8" + integrity sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ== elliptic@6.5.4: version "6.5.4" @@ -3298,10 +3020,10 @@ elliptic@6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -elliptic@^6.5.2, elliptic@^6.5.4: - version "6.5.6" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" - integrity sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ== +elliptic@^6.5.2, elliptic@^6.5.7: + version "6.6.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" + integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -3333,6 +3055,14 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" +enhanced-resolve@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + enquirer@^2.3.0, enquirer@^2.3.6: version "2.4.1" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" @@ -3449,15 +3179,10 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^1.0.5: version "1.0.5" @@ -3469,6 +3194,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@1.8.x: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" @@ -3502,14 +3232,14 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" -eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== +eslint-module-utils@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: debug "^3.2.7" -eslint-plugin-es-x@^7.5.0: +eslint-plugin-es-x@^7.8.0: version "7.8.0" resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== @@ -3518,50 +3248,49 @@ eslint-plugin-es-x@^7.5.0: "@eslint-community/regexpp" "^4.11.0" eslint-compat-utils "^0.5.1" -eslint-plugin-import@2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== +eslint-plugin-import@2.31.0: + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" array.prototype.flat "^1.3.2" array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" semver "^6.3.1" + string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" -eslint-plugin-n@16.6.2: - version "16.6.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#6a60a1a376870064c906742272074d5d0b412b0b" - integrity sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - builtins "^5.0.1" - eslint-plugin-es-x "^7.5.0" - get-tsconfig "^4.7.0" - globals "^13.24.0" - ignore "^5.2.4" - is-builtin-module "^3.2.1" - is-core-module "^2.12.1" - minimatch "^3.1.2" - resolve "^1.22.2" - semver "^7.5.3" - -eslint-plugin-promise@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" - integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== +eslint-plugin-n@17.13.0: + version "17.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-17.13.0.tgz#63d95c98866fafc67ad90143d43d3abd87f9219d" + integrity sha512-7xEJgZPKe2FNtyWA1aWtHzG0Etnd8jzA2NjurITPs7yhNkxFjaruJFHE3n0ac/U5ataZ24rlbVoSAXfN7770XA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.1" + enhanced-resolve "^5.17.1" + eslint-plugin-es-x "^7.8.0" + get-tsconfig "^4.8.1" + globals "^15.11.0" + ignore "^5.3.2" + minimatch "^9.0.5" + semver "^7.6.3" + +eslint-plugin-promise@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-7.1.0.tgz#06b3ad6d36b3c3ef3ec201c8a8d97049cf5dbb20" + integrity sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ== eslint-scope@^7.2.2: version "7.2.2" @@ -3571,21 +3300,21 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@8.56.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== +eslint@8.57.1: + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -3634,7 +3363,7 @@ esprima@2.7.x, esprima@^2.7.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== -esprima@^4.0.0, esprima@~4.0.0: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -3767,33 +3496,20 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: ethjs-util "0.1.6" rlp "^2.2.3" -ethers@6.10.0: - version "6.10.0" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.10.0.tgz#20f3c63c60d59a993f8090ad423d8a3854b3b1cd" - integrity sha512-nMNwYHzs6V1FR3Y4cdfxSQmNgZsRj1RiTU25JwvnJLmyzw9z3SKxNc2XKDuiXXo/v9ds5Mp9m6HBabgYQQ26tA== - dependencies: - "@adraffy/ens-normalize" "1.10.0" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - -ethers@6.11.1: - version "6.11.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.11.1.tgz#96aae00b627c2e35f9b0a4d65c7ab658259ee6af" - integrity sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg== +ethers@6.13.4: + version "6.13.4" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.4.tgz#bd3e1c3dc1e7dc8ce10f9ffb4ee40967a651b53c" + integrity sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" + "@types/node" "22.7.5" aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" + tslib "2.7.0" + ws "8.17.1" -ethers@^5.3.1, ethers@^5.6.1, ethers@^5.7.0, ethers@^5.7.1, ethers@^5.7.2, ethers@~5.7.0: +ethers@^5.6.1, ethers@^5.7.0, ethers@^5.7.1, ethers@^5.7.2, ethers@~5.7.0: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -3853,16 +3569,16 @@ evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -expect@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" - integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== +expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - "@jest/expect-utils" "^28.1.3" - jest-get-type "^28.0.2" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -3874,7 +3590,7 @@ fast-diff@^1.2.0: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.0.3, fast-glob@^3.2.9, fast-glob@^3.3.2: +fast-glob@^3.0.3, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -3885,7 +3601,7 @@ fast-glob@^3.0.3, fast-glob@^3.2.9, fast-glob@^3.3.2: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -3896,9 +3612,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" + integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== fastq@^1.6.0: version "1.17.1" @@ -3921,13 +3637,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -filelist@^1.0.4: - 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@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -3990,9 +3699,9 @@ fmix@^0.1.0: imul "^1.0.0" follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== for-each@^0.3.3: version "0.3.3" @@ -4002,9 +3711,9 @@ for-each@^0.3.3: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" - integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" @@ -4015,18 +3724,19 @@ form-data-encoder@^2.1.2: integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== form-data@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + version "2.5.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.2.tgz#dc653743d1de2fcc340ceea38079daf6e9069fd2" + integrity sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" mime-types "^2.1.12" + safe-buffer "^5.2.1" 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== + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -4067,7 +3777,7 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.1, fs-extra@^11.2.0: +fs-extra@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== @@ -4085,7 +3795,7 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.1, fs-extra@^8.1.0: +fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -4184,10 +3894,10 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -get-tsconfig@^4.7.0: - version "4.7.6" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.6.tgz#118fd5b7b9bae234cc7705a00cd771d7eb65d62a" - integrity sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA== +get-tsconfig@^4.8.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== dependencies: resolve-pkg-maps "^1.0.0" @@ -4225,7 +3935,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.3.7: +glob@^10.4.1: version "10.4.5" resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== @@ -4237,6 +3947,18 @@ glob@^10.3.7: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" +glob@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.0.tgz#6031df0d7b65eaa1ccb9b29b5ced16cea658e77e" + integrity sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^4.0.1" + minimatch "^10.0.0" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^2.0.0" + glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -4292,13 +4014,18 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.19.0, globals@^13.24.0: +globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" +globals@^15.11.0: + version "15.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.12.0.tgz#1811872883ad8f41055b61457a130221297de5b5" + integrity sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ== + globalthis@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" @@ -4321,18 +4048,6 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.0, 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" @@ -4372,7 +4087,7 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -handlebars@^4.0.1, handlebars@^4.7.6: +handlebars@^4.0.1, handlebars@^4.7.7: version "4.7.8" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== @@ -4384,10 +4099,10 @@ handlebars@^4.0.1, handlebars@^4.7.6: optionalDependencies: uglify-js "^3.1.4" -hardhat-dependency-compiler@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hardhat-dependency-compiler/-/hardhat-dependency-compiler-1.1.3.tgz#1e49e23f68878bd713f860c66648a711bc4a4a79" - integrity sha512-bCDqsOxGST6WkbMvj4lPchYWidNSSBm5CFnkyAex1T11cGmr9otZTGl81W6f9pmrtBXbKCvr3OSuNJ6Q394sAw== +hardhat-dependency-compiler@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/hardhat-dependency-compiler/-/hardhat-dependency-compiler-1.2.1.tgz#31a00e388029591b648f49ade74f56bfab11243b" + integrity sha512-xG5iwbspTtxOEiP5UsPngEYQ1Hg+fjTjliapIjdTQmwGkCPofrsDhQDV2O/dopcYzcR68nTx2X8xTewYHgA2rQ== hardhat-deploy@0.11.45: version "0.11.45" @@ -4419,10 +4134,10 @@ hardhat-deploy@0.11.45: qs "^6.9.4" zksync-web3 "^0.14.3" -hardhat-deploy@0.12.2: - version "0.12.2" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.12.2.tgz#1067bd0af61a65287bcf2a0ba7711ca1b54be2f6" - integrity sha512-Xp/4Lb5lC/j3kvitaWW5IZN5Meqv5D3kTIifc3ZwBoQtFLN26/fDfRV6MWAAcRO9gH64hZVokvtcDdl/fd7w3A== +hardhat-deploy@0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.14.0.tgz#4897bd50c93b3a9ce135728f84fd4a1736469f6b" + integrity sha512-jZm0bJGHeH7dEyCzz69hsS8HlNNLJLjXDQVlStczulf54vYJUfRvZ+t3x20QsdXQoXUe6Qujlp8cKbx6JjFpZw== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -4449,10 +4164,10 @@ hardhat-deploy@0.12.2: qs "^6.9.4" zksync-ethers "^5.0.0" -hardhat-gas-reporter@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz#9a2afb354bc3b6346aab55b1c02ca556d0e16450" - integrity sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg== +hardhat-gas-reporter@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" + integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== dependencies: array-uniq "1.0.3" eth-gas-reporter "^0.2.25" @@ -4521,14 +4236,14 @@ hardhat@2.19.4: uuid "^8.3.2" ws "^7.4.6" -hardhat@2.22.2: - version "2.22.2" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.22.2.tgz#0cadd7ec93bf39bab09f81603e75bc5e92acea3d" - integrity sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw== +hardhat@2.22.15: + version "2.22.15" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.22.15.tgz#319b4948f875968fde3f0d09a7edfe74e16b1365" + integrity sha512-BpTGa9PE/sKAaHi4s/S1e9WGv63DR1m7Lzfd60C8gSEchDPfAJssVRSq0MZ2v2k76ig9m0kHAwVLf5teYwu/Mw== dependencies: "@ethersproject/abi" "^5.1.2" "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/edr" "^0.3.1" + "@nomicfoundation/edr" "^0.6.4" "@nomicfoundation/ethereumjs-common" "4.0.4" "@nomicfoundation/ethereumjs-tx" "5.0.4" "@nomicfoundation/ethereumjs-util" "9.0.4" @@ -4541,7 +4256,7 @@ hardhat@2.22.2: ansi-escapes "^4.3.0" boxen "^5.1.2" chalk "^2.4.2" - chokidar "^3.4.0" + chokidar "^4.0.0" ci-info "^2.0.0" debug "^4.1.1" enquirer "^2.3.0" @@ -4554,6 +4269,7 @@ hardhat@2.22.2: glob "7.2.0" immutable "^4.0.0-rc.12" io-ts "1.10.4" + json-stream-stringify "^3.1.4" keccak "^3.0.2" lodash "^4.17.11" mnemonist "^0.38.0" @@ -4562,7 +4278,7 @@ hardhat@2.22.2: raw-body "^2.4.1" resolve "1.17.0" semver "^6.3.0" - solc "0.7.3" + solc "0.8.26" source-map-support "^0.5.13" stacktrace-parser "^0.1.10" tsort "0.0.1" @@ -4706,11 +4422,6 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -hyperlinker@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" - integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4723,10 +4434,10 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== +ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== immutable@^4.0.0-rc.12: version "4.3.7" @@ -4835,22 +4546,15 @@ is-buffer@^2.0.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - 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-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== +is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== dependencies: hasown "^2.0.2" @@ -4868,11 +4572,6 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4975,13 +4674,6 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -5027,127 +4719,122 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== +jackspeak@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.2.tgz#11f9468a3730c6ff6f56823a820d7e3be9bef015" + integrity sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw== dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" + "@isaacs/cliui" "^8.0.2" -jest-diff@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" - integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.6.3" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" - jest-worker "^28.1.3" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-matcher-utils@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" + "@jest/types" "^29.6.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^28.1.3" + pretty-format "^29.7.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-regex-util@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== -jest-snapshot@^28.1.1: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" - integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^28.1.3" + expect "^29.7.0" graceful-fs "^4.2.9" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - jest-haste-map "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^28.1.3" - semver "^7.3.5" + pretty-format "^29.7.0" + semver "^7.5.3" -jest-util@^28.1.1, jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-worker@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" + jest-util "^29.7.0" merge-stream "^2.0.0" supports-color "^8.0.0" @@ -5166,7 +4853,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.x, js-yaml@^3.13.1, js-yaml@^3.14.1: +js-yaml@3.x, js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -5181,10 +4868,10 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-buffer@3.0.1: version "3.0.1" @@ -5211,6 +4898,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stream-stringify@^3.1.4: + version "3.1.6" + resolved "https://registry.yarnpkg.com/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz#ebe32193876fb99d4ec9f612389a8d8e2b5d54d4" + integrity sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog== + json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -5218,7 +4910,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.3, json5@^2.2.3: +json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -5386,7 +5078,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5416,6 +5108,11 @@ lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +lru-cache@^11.0.0: + version "11.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.2.tgz#fbd8e7cf8211f5e7e5d91905c415a3f55755ca39" + integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5428,11 +5125,6 @@ lru_map@^0.3.3: resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== -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== - makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -5483,7 +5175,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -5493,10 +5185,10 @@ micro-ftch@^0.3.1: resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== +micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -5540,14 +5232,21 @@ minimalistic-crypto-utils@^1.0.1: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.0, minimatch@^5.0.1, minimatch@^5.1.6: +minimatch@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b" + integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^5.0.1, minimatch@^5.1.6: 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@^9.0.3, minimatch@^9.0.4: +minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -5588,23 +5287,23 @@ mnemonist@^0.38.0: dependencies: obliterator "^2.0.0" -mocha-chai-jest-snapshot@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.4.tgz#0c8e15530968074b08d1b7fbf28c2ed8b92f4380" - integrity sha512-ybwtS10P8BXDJQn9B3QyQA8Lxr/CcYxtuyWKk1PxD9vJorH8VL3edB7re4GcG9dRAdDPE/B0BsfwmCo6W43O7w== +mocha-chai-jest-snapshot@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.6.tgz#cba844aeec6e19ef830992eb71817745c75e2e09" + integrity sha512-DSPZ5PtY1Rome58XSeS2/mggDJ60BIXDMlh58wsdkGfm1VvqTjjpFkjmR3g1iCtFAtPDXDmR9mYck1MygUEArA== dependencies: - "@jest/test-result" "^28.1.1" + "@jest/test-result" "^29.7.0" chalk "^4.1.2" find-package-json "^1.2.0" - jest-snapshot "^28.1.1" - jest-util "^28.1.1" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" - yargs "^17.5.1" + yargs "^17.7.2" mocha@^10.0.0, mocha@^10.2.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.0.tgz#9e5cbed8fa9b37537a25bd1f7fb4f6fc45458b9a" - integrity sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA== + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== dependencies: ansi-colors "^4.1.3" browser-stdout "^1.3.1" @@ -5632,11 +5331,6 @@ module-error@^1.0.1, module-error@^1.0.2: resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -5651,10 +5345,10 @@ murmur-128@^0.2.1: fmix "^0.1.0" imul "^1.0.0" -nan@^2.18.0, nan@^2.19.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.20.0.tgz#08c5ea813dd54ed16e5bd6505bf42af4f7838ca3" - integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw== +nan@^2.19.0, nan@^2.20.0: + version "2.22.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" + integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== napi-macros@^2.2.2: version "2.2.2" @@ -5666,32 +5360,32 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -natural-orderby@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016" - integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== - neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nise@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/nise/-/nise-6.0.0.tgz#ae56fccb5d912037363c3b3f29ebbfa28bde8b48" - integrity sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg== + version "6.1.1" + resolved "https://registry.yarnpkg.com/nise/-/nise-6.1.1.tgz#78ea93cc49be122e44cb7c8fdf597b0e8778b64a" + integrity sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g== dependencies: - "@sinonjs/commons" "^3.0.0" - "@sinonjs/fake-timers" "^11.2.2" - "@sinonjs/text-encoding" "^0.7.2" + "@sinonjs/commons" "^3.0.1" + "@sinonjs/fake-timers" "^13.0.1" + "@sinonjs/text-encoding" "^0.7.3" just-extend "^6.2.0" - path-to-regexp "^6.2.1" + path-to-regexp "^8.1.0" node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + node-emoji@^1.10.0: version "1.11.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" @@ -5707,9 +5401,9 @@ node-fetch@2.7.0, node-fetch@^2.6.0: whatwg-url "^5.0.0" node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.8.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" - integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== + version "4.8.2" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.2.tgz#4f802b71c1ab2ca16af830e6c1ea7dd1ad9496fa" + integrity sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw== node-int64@^0.4.0: version "0.4.0" @@ -5766,11 +5460,6 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-treeify@^1.1.33: - version "1.1.33" - resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" - integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== - object.assign@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" @@ -5781,7 +5470,7 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -object.fromentries@^2.0.7: +object.fromentries@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== @@ -5791,7 +5480,7 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.groupby@^1.0.1: +object.groupby@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== @@ -5800,7 +5489,7 @@ object.groupby@^1.0.1: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.7: +object.values@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== @@ -5920,9 +5609,9 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json-from-dist@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" - integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== package-json@^8.1.0: version "8.1.1" @@ -5956,14 +5645,6 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -password-prompt@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.3.tgz#05e539f4e7ca4d6c865d479313f10eb9db63ee5f" - integrity sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== - dependencies: - ansi-escapes "^4.3.2" - cross-spawn "^7.0.3" - path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -6002,10 +5683,18 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" - integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== +path-scurry@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.0.tgz#9f052289f23ad8bf9397a2a0425e7b8615c58580" + integrity sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg== + dependencies: + lru-cache "^11.0.0" + minipass "^7.1.2" + +path-to-regexp@^8.1.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" + integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== path-type@^4.0.0: version "4.0.0" @@ -6028,10 +5717,10 @@ pbkdf2@^3.0.17: safe-buffer "^5.0.1" sha.js "^2.4.8" -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -6078,13 +5767,12 @@ prettier@^2.8.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" + "@jest/schemas" "^29.6.3" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -6128,9 +5816,9 @@ pump@^1.0.0: once "^1.3.1" pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -6221,6 +5909,11 @@ readable-stream@~1.0.26-4: isarray "0.0.1" string_decoder "~0.10.x" +readdirp@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -6242,22 +5935,15 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" -redeyed@~2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" - integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== - dependencies: - esprima "~4.0.0" - regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + set-function-name "^2.0.2" registry-auth-token@^5.0.1: version "5.0.2" @@ -6334,7 +6020,7 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -6360,12 +6046,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" - integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== +rimraf@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.0.1.tgz#ffb8ad8844dd60332ab15f52bc104bc3ed71ea4e" + integrity sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A== dependencies: - glob "^10.3.7" + glob "^11.0.0" + package-json-from-dist "^1.0.0" rimraf@^2.2.8: version "2.7.1" @@ -6425,7 +6112,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -6475,12 +6162,12 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" + integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" + elliptic "^6.5.7" + node-addon-api "^5.0.0" node-gyp-build "^4.2.0" semver@^5.5.0: @@ -6493,7 +6180,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.2: +semver@^7.3.4, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -6517,7 +6204,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -6600,12 +6287,12 @@ sinon-chai@^3.7.0: integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g== sinon@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-18.0.0.tgz#69ca293dbc3e82590a8b0d46c97f63ebc1e5fc01" - integrity sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA== + version "18.0.1" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-18.0.1.tgz#464334cdfea2cddc5eda9a4ea7e2e3f0c7a91c5e" + integrity sha512-a2N2TDY1uGviajJ6r4D1CyRAkzE9NNVlYOV1wX5xQDuAk0ONgzgRl0EjCQuRCPxOwp13ghsMwt9Gdldujs39qw== dependencies: "@sinonjs/commons" "^3.0.1" - "@sinonjs/fake-timers" "^11.2.2" + "@sinonjs/fake-timers" "11.2.2" "@sinonjs/samsam" "^8.0.0" diff "^5.2.0" nise "^6.0.0" @@ -6640,10 +6327,10 @@ solc@0.7.3: semver "^5.5.0" tmp "0.0.33" -solc@0.8.23-fixed: - version "0.8.23-fixed" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.23-fixed.tgz#336e36986faaf7e45804b9b136845b6d5c242700" - integrity sha512-XMp8jbXl29nlD0losEG+9nAdH5bibQPELI0jqOpyqCT7DKo7MbIdWPMwiCtK/QKe0CCvCvKbHswBflZmcmXIYA== +solc@0.8.26: + version "0.8.26" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" + integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== dependencies: command-exists "^1.2.8" commander "^8.1.0" @@ -6653,28 +6340,27 @@ solc@0.8.23-fixed: semver "^5.5.0" tmp "0.0.33" -solc@^0.6.7: - version "0.6.12" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.6.12.tgz#48ac854e0c729361b22a7483645077f58cba080e" - integrity sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g== +solc@0.8.28: + version "0.8.28" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.28.tgz#43f129ce31572625593677cc3ff53eb32100148c" + integrity sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA== dependencies: command-exists "^1.2.8" - commander "3.0.2" - fs-extra "^0.30.0" + commander "^8.1.0" + follow-redirects "^1.12.1" js-sha3 "0.8.0" memorystream "^0.3.1" - require-from-string "^2.0.0" semver "^5.5.0" tmp "0.0.33" -solhint@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/solhint/-/solhint-4.1.1.tgz#137c935ef028f01ba13687a1f237288d94dae1bf" - integrity sha512-7G4iF8H5hKHc0tR+/uyZesSKtfppFIMvPSW+Ku6MSL25oVRuyFeqNhOsXHfkex64wYJyXs4fe+pvhB069I19Tw== +solhint@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/solhint/-/solhint-5.0.3.tgz#b57f6d2534fe09a60f9db1b92e834363edd1cbde" + integrity sha512-OLCH6qm/mZTCpplTXzXTJGId1zrtNuDYP5c2e6snIv/hdRVxPfBBz/bAlL91bY/Accavkayp2Zp2BaDSrLVXTQ== dependencies: - "@solidity-parser/parser" "^0.16.0" + "@solidity-parser/parser" "^0.18.0" ajv "^6.12.6" - antlr4 "^4.11.0" + antlr4 "^4.13.1-patch-1" ast-parents "^0.0.1" chalk "^4.1.2" commander "^10.0.0" @@ -6693,10 +6379,15 @@ solhint@4.1.1: optionalDependencies: prettier "^2.8.3" -solidity-coverage@0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.7.tgz#fa8809fdd3321c357609fd20f6888878efc0f0fc" - integrity sha512-RzcPuNsIqVGq5F8rjQZPdI2EVdsRU7w2f1Uk1UY567n9eNcg5LSEQ3Q1WFoy9bi/2AD5SYbYK9SS/Nwh2oYbNw== +solidity-ast@^0.4.38: + version "0.4.59" + resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.59.tgz#290a2815aef70a61092591ab3e991da080ae5931" + integrity sha512-I+CX0wrYUN9jDfYtcgWSe+OAowaXy8/1YQy7NS4ni5IBDmIYBq7ZzaP/7QqouLjzZapmQtvGLqCaYgoUWqBo5g== + +solidity-coverage@0.8.13: + version "0.8.13" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.13.tgz#8eeada2e82ae19d25568368aa782a2baad0e0ce7" + integrity sha512-RiBoI+kF94V3Rv0+iwOj3HQVSqNzA9qm/qDP1ZDXK5IX0Cvho1qiz8hAXTsAo6KOIUeP73jfscq0KlLqVxzGWA== dependencies: "@ethersproject/abi" "^5.0.9" "@solidity-parser/parser" "^0.18.0" @@ -6708,7 +6399,7 @@ solidity-coverage@0.8.7: global-modules "^2.0.0" globby "^10.0.1" jsonschema "^1.2.4" - lodash "^4.17.15" + lodash "^4.17.21" mocha "^10.2.0" node-emoji "^1.10.0" pify "^4.0.1" @@ -6718,23 +6409,13 @@ solidity-coverage@0.8.7: shelljs "^0.8.3" web3-utils "^1.3.6" -solidity-docgen@0.5.17: - version "0.5.17" - resolved "https://registry.yarnpkg.com/solidity-docgen/-/solidity-docgen-0.5.17.tgz#3b0ab450afc2cd4d29cea895e05e50a07d43fbfc" - integrity sha512-RX5SPLFL9z0ZVBcZ/o5l/TKXMgSjNhWdumLuuv+Dy1O/66sThpHYd0HVpzdwAjVff0Ajk76bYM2zZYiMnqBfng== - dependencies: - "@oclif/command" "^1.8.0" - "@oclif/config" "^1.17.0" - "@oclif/errors" "^1.3.3" - "@oclif/plugin-help" "^5.0.0" - globby "^11.0.0" - handlebars "^4.7.6" - json5 "^2.1.3" - lodash "^4.17.15" - micromatch "^4.0.2" - minimatch "^5.0.0" - semver "^7.3.2" - solc "^0.6.7" +solidity-docgen@0.6.0-beta.36: + version "0.6.0-beta.36" + resolved "https://registry.yarnpkg.com/solidity-docgen/-/solidity-docgen-0.6.0-beta.36.tgz#9c76eda58580fb52e2db318c22fe3154e0c09dd1" + integrity sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ== + dependencies: + handlebars "^4.7.7" + solidity-ast "^0.4.38" source-map-support@^0.5.13: version "0.5.21" @@ -6767,15 +6448,15 @@ sprintf-js@~1.0.2: integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssh2@^1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.15.0.tgz#2f998455036a7f89e0df5847efb5421748d9871b" - integrity sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw== + version "1.16.0" + resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.16.0.tgz#79221d40cbf4d03d07fe881149de0a9de928c9f0" + integrity sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg== dependencies: asn1 "^0.2.6" bcrypt-pbkdf "^1.0.2" optionalDependencies: - cpu-features "~0.0.9" - nan "^2.18.0" + cpu-features "~0.0.10" + nan "^2.20.0" stack-utils@^2.0.3: version "2.0.6" @@ -6796,7 +6477,7 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6813,6 +6494,15 @@ string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -6869,7 +6559,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -6883,6 +6573,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -6926,7 +6623,7 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7, supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -6940,14 +6637,6 @@ supports-color@^8.0.0, supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -6980,6 +6669,11 @@ table@^6.8.0, table@^6.8.1: string-width "^4.2.3" strip-ansi "^6.0.1" +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + tar-fs@~1.16.3: version "1.16.3" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" @@ -7060,7 +6754,7 @@ then-request@^6.0.0: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -tiny-invariant@^1.3.1: +tiny-invariant@^1.1.0: version "1.3.3" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== @@ -7082,11 +6776,6 @@ to-buffer@^1.1.1: resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -7104,32 +6793,13 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -ts-morph@^21.0.1: - version "21.0.1" - resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-21.0.1.tgz#712302a0f6e9dbf1aa8d9cf33a4386c4b18c2006" - integrity sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg== - dependencies: - "@ts-morph/common" "~0.22.0" - code-block-writer "^12.0.0" - -ts-node@^10.9.1: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" +ts-morph@^22.0.0: + version "22.0.0" + resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-22.0.0.tgz#5532c592fb6dddae08846f12c9ab0fc590b1d42e" + integrity sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw== + dependencies: + "@ts-morph/common" "~0.23.0" + code-block-writer "^13.0.1" tsconfig-paths@^3.15.0: version "3.15.0" @@ -7141,21 +6811,16 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.5.0, tslib@^2.6.1, tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - tsort@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" @@ -7195,7 +6860,7 @@ 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-detect@^4.0.0, type-detect@^4.0.8, type-detect@^4.1.0: +type-detect@^4.0.0, type-detect@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== @@ -7265,9 +6930,9 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== uglify-js@^3.1.4: - version "3.19.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.1.tgz#2d5df6a0872c43da43187968308d7741d44b8056" - integrity sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A== + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== unbox-primitive@^1.0.2: version "1.0.2" @@ -7279,10 +6944,10 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5" - integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg== +undici-types@~6.19.2, undici-types@~6.19.8: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== undici@^5.14.0: version "5.28.4" @@ -7292,9 +6957,9 @@ undici@^5.14.0: "@fastify/busboy" "^2.0.0" undici@^6.18.2: - version "6.19.5" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.5.tgz#5829101361b583b53206e81579f4df71c56d6be8" - integrity sha512-LryC15SWzqQsREHIOUybavaIHF5IoL0dJ9aWWxL/PgT1KfqAW5225FZpDUFlt9xiDMS2/S7DOKhFWA7RLksWdg== + version "6.20.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.20.1.tgz#fbb87b1e2b69d963ff2d5410a40ffb4c9e81b621" + integrity sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA== universalify@^0.1.0: version "0.1.2" @@ -7311,13 +6976,13 @@ unpipe@1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" uri-js@^4.2.2: version "4.4.1" @@ -7346,11 +7011,6 @@ uuid@^9.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== -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== - walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" @@ -7443,7 +7103,7 @@ workerpool@^6.5.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -7452,10 +7112,10 @@ workerpool@^6.5.1: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -7475,7 +7135,7 @@ 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: +write-file-atomic@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== @@ -7488,10 +7148,10 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== ws@^7.4.6: version "7.5.10" @@ -7546,7 +7206,7 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.5.1: +yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -7559,33 +7219,23 @@ yargs@^17.5.1: y18n "^5.0.5" yargs-parser "^21.1.1" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zksync-ethers@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-6.0.0.tgz#60ec1c38bb2a0b844433fa59a33633e258cb00d6" - integrity sha512-eQv8V3eK6dDHobI27mHydT1liqlKAoVJzdhxYfP4weE7emPMCcHfJBVVxN5HyitEkuwZC7ir7fa1Q7PK6ox+Cw== +zksync-ethers@6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-6.15.0.tgz#50aad345be01f5425ca52d06e59836069e7d24d6" + integrity sha512-zafUxA/lysBO+9Wd6B3qNtDElsPwvAc2b4nBc/YiB4QY4H0pIBvV3/JqxHXXTppEo4gyHAX/+M5brW2qb4YnKA== zksync-ethers@^5.0.0: - version "5.9.2" - resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-5.9.2.tgz#1c5f34cb25ac0b040fd1a6118f2ba1c2c3bda090" - integrity sha512-Y2Mx6ovvxO6UdC2dePLguVzvNToOY8iLWeq5ne+jgGSJxAi/f4He/NF6FNsf6x1aWX0o8dy4Df8RcOQXAkj5qw== + version "5.10.0" + resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-5.10.0.tgz#3caf25478539a3fd6e170c13555cec6a1dae32e2" + integrity sha512-OAjTGAHF9wbdkRGkj7XZuF/a1Sk/FVbwH4pmLjAKlR7mJ7sQtQhBhrPU2dCc67xLaNvEESPfwil19ES5wooYFg== dependencies: ethers "~5.7.0" -zksync-ethers@^6.0.0: - version "6.11.1" - resolved "https://registry.yarnpkg.com/zksync-ethers/-/zksync-ethers-6.11.1.tgz#963a16e6502d58e52bf7a3cc530514530c5b6c9b" - integrity sha512-bVGC+5LGTYkx5pjvJscmXlLwmcqUSzLEQzJXK8Qi3Qjzk3ZyHwWVcmxVT7gMr7ZiKyCtzaSTRfbx1lDbqg5d+g== - zksync-web3@^0.14.3: version "0.14.4" resolved "https://registry.yarnpkg.com/zksync-web3/-/zksync-web3-0.14.4.tgz#0b70a7e1a9d45cc57c0971736079185746d46b1f"