From c6f4f990e8c7fd59b592ecf6751ff62ae5c31c8d Mon Sep 17 00:00:00 2001
From: Skima Harvey <64636974+skimaharvey@users.noreply.github.com>
Date: Tue, 6 Feb 2024 09:08:06 +0100
Subject: [PATCH] build!: move lsp17 to its own package (#871)
---
.../Mocks/Tokens/RequireCallbackToken.sol | 2 +-
.../LSP17Extensions/Extension4337.md | 211 -----
.../OnERC721ReceivedExtension.md | 154 ----
dodoc/config.ts | 4 +-
package-lock.json | 832 ++++++++++--------
package.json | 1 +
packages/LSP17Extensions/.eslintrc.js | 4 +
packages/LSP17Extensions/.solhint.json | 25 +
packages/LSP17Extensions/README.md | 6 +
.../contracts}/Extension4337.sol | 0
.../contracts}/OnERC721ReceivedExtension.sol | 0
packages/LSP17Extensions/hardhat.config.ts | 128 +++
packages/LSP17Extensions/package.json | 49 ++
packages/LSP17Extensions/tsconfig.json | 4 +
remappings.txt | 1 +
.../Extension4337/4337.test.ts | 2 +-
16 files changed, 679 insertions(+), 744 deletions(-)
delete mode 100644 docs/contracts/LSP17Extensions/Extension4337.md
delete mode 100644 docs/contracts/LSP17Extensions/OnERC721ReceivedExtension.md
create mode 100644 packages/LSP17Extensions/.eslintrc.js
create mode 100644 packages/LSP17Extensions/.solhint.json
create mode 100644 packages/LSP17Extensions/README.md
rename {contracts/LSP17Extensions => packages/LSP17Extensions/contracts}/Extension4337.sol (100%)
rename {contracts/LSP17Extensions => packages/LSP17Extensions/contracts}/OnERC721ReceivedExtension.sol (100%)
create mode 100644 packages/LSP17Extensions/hardhat.config.ts
create mode 100644 packages/LSP17Extensions/package.json
create mode 100644 packages/LSP17Extensions/tsconfig.json
diff --git a/contracts/Mocks/Tokens/RequireCallbackToken.sol b/contracts/Mocks/Tokens/RequireCallbackToken.sol
index e2d7dfaaa..6581adcfb 100644
--- a/contracts/Mocks/Tokens/RequireCallbackToken.sol
+++ b/contracts/Mocks/Tokens/RequireCallbackToken.sol
@@ -4,7 +4,7 @@ pragma solidity ^0.8.4;
import {
OnERC721ReceivedExtension
-} from "../../LSP17Extensions/OnERC721ReceivedExtension.sol";
+} from "lsp17/contracts/OnERC721ReceivedExtension.sol";
/**
* @dev This contract is used only for testing purposes
diff --git a/docs/contracts/LSP17Extensions/Extension4337.md b/docs/contracts/LSP17Extensions/Extension4337.md
deleted file mode 100644
index c7632c1f7..000000000
--- a/docs/contracts/LSP17Extensions/Extension4337.md
+++ /dev/null
@@ -1,211 +0,0 @@
-
-
-
-# Extension4337
-
-:::info Standard Specifications
-
-[`LSP-17-Extensions`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md)
-
-:::
-:::info Solidity implementation
-
-[`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-
-:::
-
-## Public Methods
-
-Public methods are accessible externally from users, allowing interaction with this function from dApps or other smart contracts.
-When marked as 'public', a method can be called both externally and internally, on the other hand, when marked as 'external', a method can only be called externally.
-
-### constructor
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#constructor)
-- Solidity implementation: [`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-
-:::
-
-```solidity
-constructor(address entryPoint_);
-```
-
-#### Parameters
-
-| Name | Type | Description |
-| ------------- | :-------: | ----------- |
-| `entryPoint_` | `address` | - |
-
-
-
-### VERSION
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#version)
-- Solidity implementation: [`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-- Function signature: `VERSION()`
-- Function selector: `0xffa1ad74`
-
-:::
-
-```solidity
-function VERSION() external view returns (string);
-```
-
-_Contract version._
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :------: | ----------- |
-| `0` | `string` | - |
-
-
-
-### entryPoint
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#entrypoint)
-- Solidity implementation: [`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-- Function signature: `entryPoint()`
-- Function selector: `0xb0d691fe`
-
-:::
-
-```solidity
-function entryPoint() external view returns (address);
-```
-
-Get the address of the Entry Point contract that will execute the user operation.
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :-------: | -------------------------------------- |
-| `0` | `address` | The address of the EntryPoint contract |
-
-
-
-### supportsInterface
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#supportsinterface)
-- Solidity implementation: [`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-- Function signature: `supportsInterface(bytes4)`
-- Function selector: `0x01ffc9a7`
-
-:::
-
-```solidity
-function supportsInterface(bytes4 interfaceId) external view returns (bool);
-```
-
-See [`IERC165-supportsInterface`](#ierc165-supportsinterface).
-
-#### Parameters
-
-| Name | Type | Description |
-| ------------- | :------: | ----------- |
-| `interfaceId` | `bytes4` | - |
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :----: | ----------- |
-| `0` | `bool` | - |
-
-
-
-### validateUserOp
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#validateuserop)
-- Solidity implementation: [`Extension4337.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/Extension4337.sol)
-- Function signature: `validateUserOp(UserOperation,bytes32,uint256)`
-- Function selector: `0xe86fc51e`
-
-:::
-
-:::info
-
-In addition to the logic of the `IAccount` interface from 4337, the permissions of the address that signed the user operation are checked to ensure that it has the permission `_4337_PERMISSION`.
-
-:::
-
-```solidity
-function validateUserOp(
- UserOperation userOp,
- bytes32 userOpHash,
- uint256
-) external nonpayable returns (uint256);
-```
-
-Validate user's signature and nonce. The entryPoint will make the call to the recipient only if this validation call returns successfully. Signature failure should be reported by returning `SIG_VALIDATION_FAILED` (`1`). This allows making a "simulation call" without a valid signature. Other failures (_e.g. nonce mismatch, or invalid signature format_) should still revert to signal failure. The third parameter (not mentioned but `missingAccountFunds` from the `IAccount` interface) describes the missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint, for future calls. Can be withdrawn anytime using "entryPoint.withdrawTo()" In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.
-
-
-
-**Requirements:**
-
-- caller MUST be the **entrypoint contract**.
-- the signature and nonce must be valid.
-
-
-
-#### Parameters
-
-| Name | Type | Description |
-| ------------ | :-------------: | ----------- |
-| `userOp` | `UserOperation` | - |
-| `userOpHash` | `bytes32` | - |
-| `_2` | `uint256` | - |
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :-------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `0` | `uint256` | validationData packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode - `<20-byte>` sigAuthorizer - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an "authorizer" contract. - `<6-byte>` validUntil - last timestamp this operation is valid. 0 for "indefinite" - `<6-byte>` validAfter - first timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly. |
-
-
-
-## Internal Methods
-
-Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs.
-
-Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities.
-
-### \_extendableMsgData
-
-```solidity
-function _extendableMsgData() internal view returns (bytes);
-```
-
-Returns the original `msg.data` passed to the extendable contract
-without the appended `msg.sender` and `msg.value`.
-
-
-
-### \_extendableMsgSender
-
-```solidity
-function _extendableMsgSender() internal view returns (address);
-```
-
-Returns the original `msg.sender` calling the extendable contract.
-
-
-
-### \_extendableMsgValue
-
-```solidity
-function _extendableMsgValue() internal view returns (uint256);
-```
-
-Returns the original `msg.value` sent to the extendable contract.
-
-
diff --git a/docs/contracts/LSP17Extensions/OnERC721ReceivedExtension.md b/docs/contracts/LSP17Extensions/OnERC721ReceivedExtension.md
deleted file mode 100644
index bd763aff9..000000000
--- a/docs/contracts/LSP17Extensions/OnERC721ReceivedExtension.md
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-# OnERC721ReceivedExtension
-
-:::info Standard Specifications
-
-[`LSP-17-Extensions`](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md)
-
-:::
-:::info Solidity implementation
-
-[`OnERC721ReceivedExtension.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/OnERC721ReceivedExtension.sol)
-
-:::
-
-LSP17 Extension that can be attached to a LSP17Extendable contract to allow it to receive ERC721 tokens via `safeTransferFrom`.
-
-## Public Methods
-
-Public methods are accessible externally from users, allowing interaction with this function from dApps or other smart contracts.
-When marked as 'public', a method can be called both externally and internally, on the other hand, when marked as 'external', a method can only be called externally.
-
-### VERSION
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#version)
-- Solidity implementation: [`OnERC721ReceivedExtension.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/OnERC721ReceivedExtension.sol)
-- Function signature: `VERSION()`
-- Function selector: `0xffa1ad74`
-
-:::
-
-```solidity
-function VERSION() external view returns (string);
-```
-
-_Contract version._
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :------: | ----------- |
-| `0` | `string` | - |
-
-
-
-### onERC721Received
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#onerc721received)
-- Solidity implementation: [`OnERC721ReceivedExtension.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/OnERC721ReceivedExtension.sol)
-- Function signature: `onERC721Received(address,address,uint256,bytes)`
-- Function selector: `0x150b7a02`
-
-:::
-
-```solidity
-function onERC721Received(
- address,
- address,
- uint256,
- bytes
-) external nonpayable returns (bytes4);
-```
-
-See [`IERC721Receiver-onERC721Received`](#ierc721receiver-onerc721received). Always returns `IERC721Receiver.onERC721Received.selector`.
-
-#### Parameters
-
-| Name | Type | Description |
-| ---- | :-------: | ----------- |
-| `_0` | `address` | - |
-| `_1` | `address` | - |
-| `_2` | `uint256` | - |
-| `_3` | `bytes` | - |
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :------: | ----------- |
-| `0` | `bytes4` | - |
-
-
-
-### supportsInterface
-
-:::note References
-
-- Specification details: [**LSP-17-Extensions**](https://github.com/lukso-network/lips/tree/main/LSPs/LSP-17-Extensions.md#supportsinterface)
-- Solidity implementation: [`OnERC721ReceivedExtension.sol`](https://github.com/lukso-network/lsp-smart-contracts/blob/develop/contracts/LSP17Extensions/OnERC721ReceivedExtension.sol)
-- Function signature: `supportsInterface(bytes4)`
-- Function selector: `0x01ffc9a7`
-
-:::
-
-```solidity
-function supportsInterface(bytes4 interfaceId) external view returns (bool);
-```
-
-See [`IERC165-supportsInterface`](#ierc165-supportsinterface).
-
-#### Parameters
-
-| Name | Type | Description |
-| ------------- | :------: | ----------- |
-| `interfaceId` | `bytes4` | - |
-
-#### Returns
-
-| Name | Type | Description |
-| ---- | :----: | ----------- |
-| `0` | `bool` | - |
-
-
-
-## Internal Methods
-
-Any method labeled as `internal` serves as utility function within the contract. They can be used when writing solidity contracts that inherit from this contract. These methods can be extended or modified by overriding their internal behavior to suit specific needs.
-
-Internal functions cannot be called externally, whether from other smart contracts, dApp interfaces, or backend services. Their restricted accessibility ensures that they remain exclusively available within the context of the current contract, promoting controlled and encapsulated usage of these internal utilities.
-
-### \_extendableMsgData
-
-```solidity
-function _extendableMsgData() internal view returns (bytes);
-```
-
-Returns the original `msg.data` passed to the extendable contract
-without the appended `msg.sender` and `msg.value`.
-
-
-
-### \_extendableMsgSender
-
-```solidity
-function _extendableMsgSender() internal view returns (address);
-```
-
-Returns the original `msg.sender` calling the extendable contract.
-
-
-
-### \_extendableMsgValue
-
-```solidity
-function _extendableMsgValue() internal view returns (uint256);
-```
-
-Returns the original `msg.value` sent to the extendable contract.
-
-
diff --git a/dodoc/config.ts b/dodoc/config.ts
index d31d9c579..3061b88f8 100644
--- a/dodoc/config.ts
+++ b/dodoc/config.ts
@@ -15,8 +15,8 @@ export const dodocConfig = {
'contracts/LSP16UniversalFactory/LSP16UniversalFactory.sol',
'lsp17contractextension/contracts/LSP17Extendable.sol',
'lsp17contractextension/contracts/LSP17Extension.sol',
- 'contracts/LSP17Extensions/Extension4337.sol',
- 'contracts/LSP17Extensions/OnERC721ReceivedExtension.sol',
+ 'lsp17/Extension4337.sol',
+ 'lsp17/OnERC721ReceivedExtension.sol',
'lsp20/contracts/LSP20CallVerification.sol',
'contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.sol',
'contracts/LSP23LinkedContractsFactory/IPostDeploymentModule.sol',
diff --git a/package-lock.json b/package-lock.json
index 16f701295..6f4f75cab 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,6 +21,7 @@
"lsp1": "*",
"lsp10": "*",
"lsp14": "*",
+ "lsp17": "*",
"lsp17contractextension": "*",
"lsp2": "*",
"lsp20": "*",
@@ -4344,9 +4345,9 @@
"peer": true
},
"node_modules/@types/node": {
- "version": "20.11.15",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.15.tgz",
- "integrity": "sha512-gscmuADZfvNULx1eyirVbr3kVOVZtpQtzKMCZpeSZcN6MfbkRXAR4s9/gsQ4CzxLHw6EStDtKLNtSDL3vbq05A==",
+ "version": "20.11.16",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz",
+ "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==",
"dependencies": {
"undici-types": "~5.26.4"
}
@@ -5121,13 +5122,16 @@
}
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5165,17 +5169,18 @@
}
},
"node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dev": true,
"dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
"is-shared-array-buffer": "^1.0.2"
},
"engines": {
@@ -6151,9 +6156,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001582",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001582.tgz",
- "integrity": "sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==",
+ "version": "1.0.30001584",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001584.tgz",
+ "integrity": "sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ==",
"funding": [
{
"type": "opencollective",
@@ -7658,9 +7663,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.653",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.653.tgz",
- "integrity": "sha512-wA2A2LQCqnEwQAvwADQq3KpMpNwgAUBnRmrFgRzHnPhbQUFArTR32Ab46f4p0MovDLcg4uqd4nCsN2hTltslpA=="
+ "version": "1.4.656",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz",
+ "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q=="
},
"node_modules/elliptic": {
"version": "6.5.4",
@@ -7814,6 +7819,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
@@ -9562,9 +9575,9 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
"node_modules/fastq": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
- "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dependencies": {
"reusify": "^1.0.4"
}
@@ -9938,15 +9951,19 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.3.tgz",
+ "integrity": "sha512-JIcZczvcMVE7AUOP+X72bh8HqHBRxFdz5PDHYtNG/lE3yk9b3KZBJlwFcTyPYjg3L4RLLmZJzvjxhaZVapxFrQ==",
"dependencies": {
+ "es-errors": "^1.0.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -11619,11 +11636,11 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -12223,14 +12240,16 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -12637,11 +12656,11 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dependencies": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -13520,6 +13539,10 @@
"resolved": "packages/LSP14Ownable2Step",
"link": true
},
+ "node_modules/lsp17": {
+ "resolved": "packages/LSP17Extensions",
+ "link": true
+ },
"node_modules/lsp17contractextension": {
"resolved": "packages/LSP17ContractExtension",
"link": true
@@ -20164,11 +20187,11 @@
}
},
"node_modules/ts-api-utils": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
- "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.0.tgz",
+ "integrity": "sha512-d+3WxW4r8WQy2cZWpNRPPGExX8ffOLGcIhheUANKbL5Sqjbhkneki76fRAWeXkaslV2etTb4tSJBSxOsH5+CJw==",
"engines": {
- "node": ">=16.13.0"
+ "node": ">=18"
},
"peerDependencies": {
"typescript": ">=4.2.0"
@@ -21235,9 +21258,9 @@
}
},
"node_modules/undici": {
- "version": "5.28.2",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz",
- "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==",
+ "version": "5.28.3",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
+ "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==",
"dev": true,
"dependencies": {
"@fastify/busboy": "^2.0.0"
@@ -22583,28 +22606,28 @@
}
},
"node_modules/web3": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.3.tgz",
- "integrity": "sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz",
+ "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "web3-bzz": "1.10.3",
- "web3-core": "1.10.3",
- "web3-eth": "1.10.3",
- "web3-eth-personal": "1.10.3",
- "web3-net": "1.10.3",
- "web3-shh": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-bzz": "1.10.4",
+ "web3-core": "1.10.4",
+ "web3-eth": "1.10.4",
+ "web3-eth-personal": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-shh": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-bzz": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.3.tgz",
- "integrity": "sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz",
+ "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -22806,56 +22829,56 @@
}
},
"node_modules/web3-core": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.3.tgz",
- "integrity": "sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz",
+ "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==",
"dev": true,
"dependencies": {
"@types/bn.js": "^5.1.1",
"@types/node": "^12.12.6",
"bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-requestmanager": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-requestmanager": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-core-helpers": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz",
- "integrity": "sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz",
+ "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==",
"dev": true,
"dependencies": {
- "web3-eth-iban": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-eth-iban": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-core-method": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.3.tgz",
- "integrity": "sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz",
+ "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==",
"dev": true,
"dependencies": {
"@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-core-promievent": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz",
- "integrity": "sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz",
+ "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==",
"dev": true,
"dependencies": {
"eventemitter3": "4.0.4"
@@ -22865,29 +22888,29 @@
}
},
"node_modules/web3-core-requestmanager": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz",
- "integrity": "sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz",
+ "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==",
"dev": true,
"dependencies": {
"util": "^0.12.5",
- "web3-core-helpers": "1.10.3",
- "web3-providers-http": "1.10.3",
- "web3-providers-ipc": "1.10.3",
- "web3-providers-ws": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-providers-http": "1.10.4",
+ "web3-providers-ipc": "1.10.4",
+ "web3-providers-ws": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-core-subscriptions": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz",
- "integrity": "sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz",
+ "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==",
"dev": true,
"dependencies": {
"eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
@@ -22900,45 +22923,45 @@
"dev": true
},
"node_modules/web3-eth": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.3.tgz",
- "integrity": "sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz",
+ "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==",
"dev": true,
"dependencies": {
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-eth-accounts": "1.10.3",
- "web3-eth-contract": "1.10.3",
- "web3-eth-ens": "1.10.3",
- "web3-eth-iban": "1.10.3",
- "web3-eth-personal": "1.10.3",
- "web3-net": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-eth-accounts": "1.10.4",
+ "web3-eth-contract": "1.10.4",
+ "web3-eth-ens": "1.10.4",
+ "web3-eth-iban": "1.10.4",
+ "web3-eth-personal": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-eth-abi": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz",
- "integrity": "sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz",
+ "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==",
"dev": true,
"dependencies": {
"@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.3"
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-eth-accounts": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz",
- "integrity": "sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz",
+ "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==",
"dev": true,
"dependencies": {
"@ethereumjs/common": "2.6.5",
@@ -22947,10 +22970,10 @@
"eth-lib": "0.2.8",
"scrypt-js": "^3.0.1",
"uuid": "^9.0.0",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
@@ -22987,68 +23010,68 @@
}
},
"node_modules/web3-eth-contract": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz",
- "integrity": "sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz",
+ "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==",
"dev": true,
"dependencies": {
"@types/bn.js": "^5.1.1",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-eth-ens": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz",
- "integrity": "sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz",
+ "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==",
"dev": true,
"dependencies": {
"content-hash": "^2.5.2",
"eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-eth-contract": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-eth-contract": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-eth-iban": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz",
- "integrity": "sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz",
+ "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==",
"dev": true,
"dependencies": {
"bn.js": "^5.2.1",
- "web3-utils": "1.10.3"
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-eth-personal": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz",
- "integrity": "sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz",
+ "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==",
"dev": true,
"dependencies": {
"@types/node": "^12.12.6",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-net": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
@@ -23061,14 +23084,14 @@
"dev": true
},
"node_modules/web3-net": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.3.tgz",
- "integrity": "sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz",
+ "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==",
"dev": true,
"dependencies": {
- "web3-core": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-utils": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
@@ -23182,15 +23205,15 @@
}
},
"node_modules/web3-providers-http": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.3.tgz",
- "integrity": "sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz",
+ "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==",
"dev": true,
"dependencies": {
"abortcontroller-polyfill": "^1.7.5",
"cross-fetch": "^4.0.0",
"es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
@@ -23206,26 +23229,26 @@
}
},
"node_modules/web3-providers-ipc": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz",
- "integrity": "sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz",
+ "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==",
"dev": true,
"dependencies": {
"oboe": "2.1.5",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-providers-ws": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz",
- "integrity": "sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz",
+ "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==",
"dev": true,
"dependencies": {
"eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.3",
+ "web3-core-helpers": "1.10.4",
"websocket": "^1.0.32"
},
"engines": {
@@ -23233,25 +23256,25 @@
}
},
"node_modules/web3-shh": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.3.tgz",
- "integrity": "sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz",
+ "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "web3-core": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-net": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-net": "1.10.4"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/web3-utils": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.3.tgz",
- "integrity": "sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz",
+ "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==",
"dev": true,
"dependencies": {
"@ethereumjs/util": "^8.1.0",
@@ -23364,15 +23387,15 @@
"dev": true
},
"node_modules/which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
+ "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.6",
+ "call-bind": "^1.0.5",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -23787,9 +23810,8 @@
},
"packages/LSP0ERC725Account/node_modules/typescript": {
"version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true,
+ "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -23885,6 +23907,36 @@
"typescript": "^5.3.3"
}
},
+ "packages/LSP17Extensions": {
+ "name": "lsp17",
+ "version": "0.12.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@account-abstraction/contracts": "^0.6.0",
+ "@erc725/smart-contracts": "^7.0.0",
+ "@openzeppelin/contracts": "^4.9.3",
+ "lsp14": "*",
+ "lsp17contractextension": "*",
+ "lsp20": "*"
+ },
+ "devDependencies": {
+ "@nomicfoundation/hardhat-toolbox": "^2.0.2",
+ "@typechain/ethers-v5": "^10.2.0",
+ "dotenv": "^16.0.3",
+ "eslint-config-custom": "*",
+ "ethers": "^5.7.2",
+ "hardhat": "^2.13.0",
+ "hardhat-contract-sizer": "^2.8.0",
+ "hardhat-deploy": "^0.11.25",
+ "hardhat-gas-reporter": "^1.0.9",
+ "hardhat-packager": "^1.4.2",
+ "solhint": "^3.3.6",
+ "ts-node": "^10.2.0",
+ "tsconfig": "*",
+ "typechain": "^8.0.0",
+ "typescript": "^5.3.3"
+ }
+ },
"packages/LSP1UniversalReceiver": {
"name": "lsp1",
"version": "0.12.1",
@@ -27077,9 +27129,9 @@
"peer": true
},
"@types/node": {
- "version": "20.11.15",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.15.tgz",
- "integrity": "sha512-gscmuADZfvNULx1eyirVbr3kVOVZtpQtzKMCZpeSZcN6MfbkRXAR4s9/gsQ4CzxLHw6EStDtKLNtSDL3vbq05A==",
+ "version": "20.11.16",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz",
+ "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==",
"requires": {
"undici-types": "~5.26.4"
}
@@ -27651,13 +27703,13 @@
"dev": true
},
"array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
}
},
"array-flatten": {
@@ -27683,17 +27735,18 @@
"dev": true
},
"arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dev": true,
"requires": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
"is-shared-array-buffer": "^1.0.2"
}
},
@@ -28433,9 +28486,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001582",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001582.tgz",
- "integrity": "sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg=="
+ "version": "1.0.30001584",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001584.tgz",
+ "integrity": "sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ=="
},
"case": {
"version": "1.6.3",
@@ -29588,9 +29641,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"electron-to-chromium": {
- "version": "1.4.653",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.653.tgz",
- "integrity": "sha512-wA2A2LQCqnEwQAvwADQq3KpMpNwgAUBnRmrFgRzHnPhbQUFArTR32Ab46f4p0MovDLcg4uqd4nCsN2hTltslpA=="
+ "version": "1.4.656",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz",
+ "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q=="
},
"elliptic": {
"version": "6.5.4",
@@ -29722,6 +29775,11 @@
"which-typed-array": "^1.1.13"
}
},
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
"es-module-lexer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
@@ -31210,9 +31268,9 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
"fastq": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
- "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"requires": {
"reusify": "^1.0.4"
}
@@ -31490,10 +31548,11 @@
"peer": true
},
"get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.3.tgz",
+ "integrity": "sha512-JIcZczvcMVE7AUOP+X72bh8HqHBRxFdz5PDHYtNG/lE3yk9b3KZBJlwFcTyPYjg3L4RLLmZJzvjxhaZVapxFrQ==",
"requires": {
+ "es-errors": "^1.0.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
@@ -32835,11 +32894,11 @@
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"requires": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
}
},
"has-value": {
@@ -33308,14 +33367,13 @@
}
},
"is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
}
},
"is-arrayish": {
@@ -33581,11 +33639,11 @@
}
},
"is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"requires": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
}
},
"is-typedarray": {
@@ -34328,8 +34386,6 @@
"dependencies": {
"typescript": {
"version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true
}
}
@@ -34410,6 +34466,32 @@
"typescript": "^5.3.3"
}
},
+ "lsp17": {
+ "version": "file:packages/LSP17Extensions",
+ "requires": {
+ "@account-abstraction/contracts": "^0.6.0",
+ "@erc725/smart-contracts": "^7.0.0",
+ "@nomicfoundation/hardhat-toolbox": "^2.0.2",
+ "@openzeppelin/contracts": "^4.9.3",
+ "@typechain/ethers-v5": "^10.2.0",
+ "dotenv": "^16.0.3",
+ "eslint-config-custom": "*",
+ "ethers": "^5.7.2",
+ "hardhat": "^2.13.0",
+ "hardhat-contract-sizer": "^2.8.0",
+ "hardhat-deploy": "^0.11.25",
+ "hardhat-gas-reporter": "^1.0.9",
+ "hardhat-packager": "^1.4.2",
+ "lsp14": "*",
+ "lsp17contractextension": "*",
+ "lsp20": "*",
+ "solhint": "^3.3.6",
+ "ts-node": "^10.2.0",
+ "tsconfig": "*",
+ "typechain": "^8.0.0",
+ "typescript": "^5.3.3"
+ }
+ },
"lsp17contractextension": {
"version": "file:packages/LSP17ContractExtension",
"requires": {
@@ -39464,9 +39546,9 @@
"dev": true
},
"ts-api-utils": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
- "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.0.tgz",
+ "integrity": "sha512-d+3WxW4r8WQy2cZWpNRPPGExX8ffOLGcIhheUANKbL5Sqjbhkneki76fRAWeXkaslV2etTb4tSJBSxOsH5+CJw==",
"requires": {}
},
"ts-command-line-args": {
@@ -40115,9 +40197,9 @@
}
},
"undici": {
- "version": "5.28.2",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz",
- "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==",
+ "version": "5.28.3",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
+ "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==",
"dev": true,
"requires": {
"@fastify/busboy": "^2.0.0"
@@ -40989,24 +41071,24 @@
}
},
"web3": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.3.tgz",
- "integrity": "sha512-DgUdOOqC/gTqW+VQl1EdPxrVRPB66xVNtuZ5KD4adVBtko87hkgM8BTZ0lZ8IbUfnQk6DyjcDujMiH3oszllAw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3/-/web3-1.10.4.tgz",
+ "integrity": "sha512-kgJvQZjkmjOEKimx/tJQsqWfRDPTTcBfYPa9XletxuHLpHcXdx67w8EFn5AW3eVxCutE9dTVHgGa9VYe8vgsEA==",
"dev": true,
"requires": {
- "web3-bzz": "1.10.3",
- "web3-core": "1.10.3",
- "web3-eth": "1.10.3",
- "web3-eth-personal": "1.10.3",
- "web3-net": "1.10.3",
- "web3-shh": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-bzz": "1.10.4",
+ "web3-core": "1.10.4",
+ "web3-eth": "1.10.4",
+ "web3-eth-personal": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-shh": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-bzz": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.3.tgz",
- "integrity": "sha512-XDIRsTwekdBXtFytMpHBuun4cK4x0ZMIDXSoo1UVYp+oMyZj07c7gf7tNQY5qZ/sN+CJIas4ilhN25VJcjSijQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.10.4.tgz",
+ "integrity": "sha512-ZZ/X4sJ0Uh2teU9lAGNS8EjveEppoHNQiKlOXAjedsrdWuaMErBPdLQjXfcrYvN6WM6Su9PMsAxf3FXXZ+HwQw==",
"dev": true,
"requires": {
"@types/node": "^12.12.6",
@@ -41147,18 +41229,18 @@
}
},
"web3-core": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.3.tgz",
- "integrity": "sha512-Vbk0/vUNZxJlz3RFjAhNNt7qTpX8yE3dn3uFxfX5OHbuon5u65YEOd3civ/aQNW745N0vGUlHFNxxmn+sG9DIw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz",
+ "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==",
"dev": true,
"requires": {
"@types/bn.js": "^5.1.1",
"@types/node": "^12.12.6",
"bignumber.js": "^9.0.0",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-requestmanager": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-requestmanager": "1.10.4",
+ "web3-utils": "1.10.4"
},
"dependencies": {
"@types/node": {
@@ -41170,94 +41252,94 @@
}
},
"web3-core-helpers": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.3.tgz",
- "integrity": "sha512-Yv7dQC3B9ipOc5sWm3VAz1ys70Izfzb8n9rSiQYIPjpqtJM+3V4EeK6ghzNR6CO2es0+Yu9CtCkw0h8gQhrTxA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz",
+ "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==",
"dev": true,
"requires": {
- "web3-eth-iban": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-eth-iban": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-core-method": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.3.tgz",
- "integrity": "sha512-VZ/Dmml4NBmb0ep5PTSg9oqKoBtG0/YoMPei/bq/tUdlhB2dMB79sbeJPwx592uaV0Vpk7VltrrrBv5hTM1y4Q==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.10.4.tgz",
+ "integrity": "sha512-uZTb7flr+Xl6LaDsyTeE2L1TylokCJwTDrIVfIfnrGmnwLc6bmTWCCrm71sSrQ0hqs6vp/MKbQYIYqUN0J8WyA==",
"dev": true,
"requires": {
"@ethersproject/transactions": "^5.6.2",
- "web3-core-helpers": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-core-promievent": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.3.tgz",
- "integrity": "sha512-HgjY+TkuLm5uTwUtaAfkTgRx/NzMxvVradCi02gy17NxDVdg/p6svBHcp037vcNpkuGeFznFJgULP+s2hdVgUQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.10.4.tgz",
+ "integrity": "sha512-2de5WnJQ72YcIhYwV/jHLc4/cWJnznuoGTJGD29ncFQHAfwW/MItHFSVKPPA5v8AhJe+r6y4Y12EKvZKjQVBvQ==",
"dev": true,
"requires": {
"eventemitter3": "4.0.4"
}
},
"web3-core-requestmanager": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.3.tgz",
- "integrity": "sha512-VT9sKJfgM2yBOIxOXeXiDuFMP4pxzF6FT+y8KTLqhDFHkbG3XRe42Vm97mB/IvLQCJOmokEjl3ps8yP1kbggyw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.10.4.tgz",
+ "integrity": "sha512-vqP6pKH8RrhT/2MoaU+DY/OsYK9h7HmEBNCdoMj+4ZwujQtw/Mq2JifjwsJ7gits7Q+HWJwx8q6WmQoVZAWugg==",
"dev": true,
"requires": {
"util": "^0.12.5",
- "web3-core-helpers": "1.10.3",
- "web3-providers-http": "1.10.3",
- "web3-providers-ipc": "1.10.3",
- "web3-providers-ws": "1.10.3"
+ "web3-core-helpers": "1.10.4",
+ "web3-providers-http": "1.10.4",
+ "web3-providers-ipc": "1.10.4",
+ "web3-providers-ws": "1.10.4"
}
},
"web3-core-subscriptions": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.3.tgz",
- "integrity": "sha512-KW0Mc8sgn70WadZu7RjQ4H5sNDJ5Lx8JMI3BWos+f2rW0foegOCyWhRu33W1s6ntXnqeBUw5rRCXZRlA3z+HNA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz",
+ "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==",
"dev": true,
"requires": {
"eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
}
},
"web3-eth": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.3.tgz",
- "integrity": "sha512-Uk1U2qGiif2mIG8iKu23/EQJ2ksB1BQXy3wF3RvFuyxt8Ft9OEpmGlO7wOtAyJdoKzD5vcul19bJpPcWSAYZhA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.10.4.tgz",
+ "integrity": "sha512-Sql2kYKmgt+T/cgvg7b9ce24uLS7xbFrxE4kuuor1zSCGrjhTJ5rRNG8gTJUkAJGKJc7KgnWmgW+cOfMBPUDSA==",
"dev": true,
"requires": {
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-eth-accounts": "1.10.3",
- "web3-eth-contract": "1.10.3",
- "web3-eth-ens": "1.10.3",
- "web3-eth-iban": "1.10.3",
- "web3-eth-personal": "1.10.3",
- "web3-net": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-eth-accounts": "1.10.4",
+ "web3-eth-contract": "1.10.4",
+ "web3-eth-ens": "1.10.4",
+ "web3-eth-iban": "1.10.4",
+ "web3-eth-personal": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-eth-abi": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.3.tgz",
- "integrity": "sha512-O8EvV67uhq0OiCMekqYsDtb6FzfYzMXT7VMHowF8HV6qLZXCGTdB/NH4nJrEh2mFtEwVdS6AmLFJAQd2kVyoMQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.10.4.tgz",
+ "integrity": "sha512-cZ0q65eJIkd/jyOlQPDjr8X4fU6CRL1eWgdLwbWEpo++MPU/2P4PFk5ZLAdye9T5Sdp+MomePPJ/gHjLMj2VfQ==",
"dev": true,
"requires": {
"@ethersproject/abi": "^5.6.3",
- "web3-utils": "1.10.3"
+ "web3-utils": "1.10.4"
}
},
"web3-eth-accounts": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.3.tgz",
- "integrity": "sha512-8MipGgwusDVgn7NwKOmpeo3gxzzd+SmwcWeBdpXknuyDiZSQy9tXe+E9LeFGrmys/8mLLYP79n3jSbiTyv+6pQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.10.4.tgz",
+ "integrity": "sha512-ysy5sVTg9snYS7tJjxVoQAH6DTOTkRGR8emEVCWNGLGiB9txj+qDvSeT0izjurS/g7D5xlMAgrEHLK1Vi6I3yg==",
"dev": true,
"requires": {
"@ethereumjs/common": "2.6.5",
@@ -41266,10 +41348,10 @@
"eth-lib": "0.2.8",
"scrypt-js": "^3.0.1",
"uuid": "^9.0.0",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-utils": "1.10.4"
},
"dependencies": {
"bn.js": {
@@ -41298,59 +41380,59 @@
}
},
"web3-eth-contract": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.3.tgz",
- "integrity": "sha512-Y2CW61dCCyY4IoUMD4JsEQWrILX4FJWDWC/Txx/pr3K/+fGsBGvS9kWQN5EsVXOp4g7HoFOfVh9Lf7BmVVSRmg==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.10.4.tgz",
+ "integrity": "sha512-Q8PfolOJ4eV9TvnTj1TGdZ4RarpSLmHnUnzVxZ/6/NiTfe4maJz99R0ISgwZkntLhLRtw0C7LRJuklzGYCNN3A==",
"dev": true,
"requires": {
"@types/bn.js": "^5.1.1",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-eth-ens": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.3.tgz",
- "integrity": "sha512-hR+odRDXGqKemw1GFniKBEXpjYwLgttTES+bc7BfTeoUyUZXbyDHe5ifC+h+vpzxh4oS0TnfcIoarK0Z9tFSiQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.10.4.tgz",
+ "integrity": "sha512-LLrvxuFeVooRVZ9e5T6OWKVflHPFgrVjJ/jtisRWcmI7KN/b64+D/wJzXqgmp6CNsMQcE7rpmf4CQmJCrTdsgg==",
"dev": true,
"requires": {
"content-hash": "^2.5.2",
"eth-ens-namehash": "2.0.8",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-promievent": "1.10.3",
- "web3-eth-abi": "1.10.3",
- "web3-eth-contract": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-promievent": "1.10.4",
+ "web3-eth-abi": "1.10.4",
+ "web3-eth-contract": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-eth-iban": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.3.tgz",
- "integrity": "sha512-ZCfOjYKAjaX2TGI8uif5ah+J3BYFuo+47JOIV1RIz2l7kD9VfnxvRH5UiQDRyMALQC7KFd2hUqIEtHklapNyKA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz",
+ "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==",
"dev": true,
"requires": {
"bn.js": "^5.2.1",
- "web3-utils": "1.10.3"
+ "web3-utils": "1.10.4"
}
},
"web3-eth-personal": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.3.tgz",
- "integrity": "sha512-avrQ6yWdADIvuNQcFZXmGLCEzulQa76hUOuVywN7O3cklB4nFc/Gp3yTvD3bOAaE7DhjLQfhUTCzXL7WMxVTsw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.10.4.tgz",
+ "integrity": "sha512-BRa/hs6jU1hKHz+AC/YkM71RP3f0Yci1dPk4paOic53R4ZZG4MgwKRkJhgt3/GPuPliwS46f/i5A7fEGBT4F9w==",
"dev": true,
"requires": {
"@types/node": "^12.12.6",
- "web3-core": "1.10.3",
- "web3-core-helpers": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-net": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-helpers": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-net": "1.10.4",
+ "web3-utils": "1.10.4"
},
"dependencies": {
"@types/node": {
@@ -41362,14 +41444,14 @@
}
},
"web3-net": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.3.tgz",
- "integrity": "sha512-IoSr33235qVoI1vtKssPUigJU9Fc/Ph0T9CgRi15sx+itysmvtlmXMNoyd6Xrgm9LuM4CIhxz7yDzH93B79IFg==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz",
+ "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==",
"dev": true,
"requires": {
- "web3-core": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-utils": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-utils": "1.10.4"
}
},
"web3-provider-engine": {
@@ -41476,15 +41558,15 @@
}
},
"web3-providers-http": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.3.tgz",
- "integrity": "sha512-6dAgsHR3MxJ0Qyu3QLFlQEelTapVfWNTu5F45FYh8t7Y03T1/o+YAkVxsbY5AdmD+y5bXG/XPJ4q8tjL6MgZHw==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz",
+ "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==",
"dev": true,
"requires": {
"abortcontroller-polyfill": "^1.7.5",
"cross-fetch": "^4.0.0",
"es6-promise": "^4.2.8",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
},
"dependencies": {
"cross-fetch": {
@@ -41499,42 +41581,42 @@
}
},
"web3-providers-ipc": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.3.tgz",
- "integrity": "sha512-vP5WIGT8FLnGRfswTxNs9rMfS1vCbMezj/zHbBe/zB9GauBRTYVrUo2H/hVrhLg8Ut7AbsKZ+tCJ4mAwpKi2hA==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz",
+ "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==",
"dev": true,
"requires": {
"oboe": "2.1.5",
- "web3-core-helpers": "1.10.3"
+ "web3-core-helpers": "1.10.4"
}
},
"web3-providers-ws": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.3.tgz",
- "integrity": "sha512-/filBXRl48INxsh6AuCcsy4v5ndnTZ/p6bl67kmO9aK1wffv7CT++DrtclDtVMeDGCgB3van+hEf9xTAVXur7Q==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz",
+ "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==",
"dev": true,
"requires": {
"eventemitter3": "4.0.4",
- "web3-core-helpers": "1.10.3",
+ "web3-core-helpers": "1.10.4",
"websocket": "^1.0.32"
}
},
"web3-shh": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.3.tgz",
- "integrity": "sha512-cAZ60CPvs9azdwMSQ/PSUdyV4PEtaW5edAZhu3rCXf6XxQRliBboic+AvwUvB6j3eswY50VGa5FygfVmJ1JVng==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.10.4.tgz",
+ "integrity": "sha512-cOH6iFFM71lCNwSQrC3niqDXagMqrdfFW85hC9PFUrAr3PUrIem8TNstTc3xna2bwZeWG6OBy99xSIhBvyIACw==",
"dev": true,
"requires": {
- "web3-core": "1.10.3",
- "web3-core-method": "1.10.3",
- "web3-core-subscriptions": "1.10.3",
- "web3-net": "1.10.3"
+ "web3-core": "1.10.4",
+ "web3-core-method": "1.10.4",
+ "web3-core-subscriptions": "1.10.4",
+ "web3-net": "1.10.4"
}
},
"web3-utils": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.3.tgz",
- "integrity": "sha512-OqcUrEE16fDBbGoQtZXWdavsPzbGIDc5v3VrRTZ0XrIpefC/viZ1ZU9bGEemazyS0catk/3rkOOxpzTfY+XsyQ==",
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz",
+ "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==",
"dev": true,
"requires": {
"@ethereumjs/util": "^8.1.0",
@@ -41636,15 +41718,15 @@
"dev": true
},
"which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
+ "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.6",
+ "call-bind": "^1.0.5",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.1"
}
},
"widest-line": {
diff --git a/package.json b/package.json
index d1f7f43d5..0ed0af8b5 100644
--- a/package.json
+++ b/package.json
@@ -121,6 +121,7 @@
"lsp7": "*",
"lsp10": "*",
"lsp14": "*",
+ "lsp17": "*",
"lsp17contractextension": "*",
"lsp20": "*",
"lsp25": "*"
diff --git a/packages/LSP17Extensions/.eslintrc.js b/packages/LSP17Extensions/.eslintrc.js
new file mode 100644
index 000000000..03ee7431b
--- /dev/null
+++ b/packages/LSP17Extensions/.eslintrc.js
@@ -0,0 +1,4 @@
+module.exports = {
+ root: true,
+ extends: ['custom'],
+};
diff --git a/packages/LSP17Extensions/.solhint.json b/packages/LSP17Extensions/.solhint.json
new file mode 100644
index 000000000..26e01c48a
--- /dev/null
+++ b/packages/LSP17Extensions/.solhint.json
@@ -0,0 +1,25 @@
+{
+ "extends": "solhint:recommended",
+ "rules": {
+ "avoid-sha3": "error",
+ "avoid-suicide": "error",
+ "avoid-throw": "error",
+ "avoid-tx-origin": "error",
+ "check-send-result": "error",
+ "compiler-version": ["error", "^0.8.0"],
+ "func-visibility": ["error", { "ignoreConstructors": true }],
+ "not-rely-on-block-hash": "error",
+ "not-rely-on-time": "error",
+ "reentrancy": "error",
+ "constructor-syntax": "error",
+ "private-vars-leading-underscore": ["error", { "strict": false }],
+ "imports-on-top": "error",
+ "visibility-modifier-order": "error",
+ "no-unused-import": "error",
+ "no-global-import": "error",
+ "reason-string": ["warn", { "maxLength": 120 }],
+ "avoid-low-level-calls": "off",
+ "no-empty-blocks": ["error", { "ignoreConstructors": true }],
+ "custom-errors": "off"
+ }
+}
diff --git a/packages/LSP17Extensions/README.md b/packages/LSP17Extensions/README.md
new file mode 100644
index 000000000..b20e99c1b
--- /dev/null
+++ b/packages/LSP17Extensions/README.md
@@ -0,0 +1,6 @@
+# LSP17 Extensions Package
+
+Package for the LSP17 Extensions, that includes the following extensions:
+
+- the `Extension4337` extension, which contains the `validateUserOp` function from the [`ERC4337` standard](https://eips.ethereum.org/EIPS/eip-4337).
+- the `OnERC721ReceivedExtension` extension that contains the `onERC721Received` function from the [`ERC721` standard](https://eips.ethereum.org/EIPS/eip-721).
diff --git a/contracts/LSP17Extensions/Extension4337.sol b/packages/LSP17Extensions/contracts/Extension4337.sol
similarity index 100%
rename from contracts/LSP17Extensions/Extension4337.sol
rename to packages/LSP17Extensions/contracts/Extension4337.sol
diff --git a/contracts/LSP17Extensions/OnERC721ReceivedExtension.sol b/packages/LSP17Extensions/contracts/OnERC721ReceivedExtension.sol
similarity index 100%
rename from contracts/LSP17Extensions/OnERC721ReceivedExtension.sol
rename to packages/LSP17Extensions/contracts/OnERC721ReceivedExtension.sol
diff --git a/packages/LSP17Extensions/hardhat.config.ts b/packages/LSP17Extensions/hardhat.config.ts
new file mode 100644
index 000000000..d818a205d
--- /dev/null
+++ b/packages/LSP17Extensions/hardhat.config.ts
@@ -0,0 +1,128 @@
+import { HardhatUserConfig } from 'hardhat/config';
+import { NetworkUserConfig } from 'hardhat/types';
+import { config as dotenvConfig } from 'dotenv';
+import { resolve } from 'path';
+
+/**
+ * this package includes:
+ * - @nomiclabs/hardhat-ethers
+ * - @nomicfoundation/hardhat-chai-matchers
+ * - @nomicfoundation/hardhat-network-helpers
+ * - @nomiclabs/hardhat-etherscan
+ * - hardhat-gas-reporter (is this true? Why do we have it as a separate dependency?)
+ * - @typechain/hardhat
+ * - solidity-coverage
+ */
+import '@nomicfoundation/hardhat-toolbox';
+
+// additional hardhat plugins
+import 'hardhat-packager';
+import 'hardhat-contract-sizer';
+import 'hardhat-deploy';
+
+// custom built hardhat plugins and scripts
+// can be imported here (e.g: docs generation, gas benchmark, etc...)
+
+dotenvConfig({ path: resolve(__dirname, './.env') });
+
+function getTestnetChainConfig(): NetworkUserConfig {
+ const config: NetworkUserConfig = {
+ live: true,
+ url: 'https://rpc.testnet.lukso.network',
+ chainId: 4201,
+ };
+
+ if (process.env.CONTRACT_VERIFICATION_TESTNET_PK !== undefined) {
+ config['accounts'] = [process.env.CONTRACT_VERIFICATION_TESTNET_PK];
+ }
+
+ return config;
+}
+
+const config: HardhatUserConfig = {
+ defaultNetwork: 'hardhat',
+ networks: {
+ hardhat: {
+ live: false,
+ saveDeployments: false,
+ allowBlocksWithSameTimestamp: true,
+ },
+ luksoTestnet: getTestnetChainConfig(),
+ },
+ namedAccounts: {
+ owner: 0,
+ },
+ // uncomment if the contracts from this LSP package must be deployed at deterministic
+ // // addresses across multiple chains
+ // deterministicDeployment: {
+ // luksoTestnet: {
+ // // Nick Factory. See https://github.com/Arachnid/deterministic-deployment-proxy
+ // factory: '0x4e59b44847b379578588920ca78fbf26c0b4956c',
+ // deployer: '0x3fab184622dc19b6109349b94811493bf2a45362',
+ // funding: '0x0000000000000000000000000000000000000000000000000000000000000000',
+ // signedTx:
+ // '0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222',
+ // },
+ // },
+ etherscan: {
+ apiKey: 'no-api-key-needed',
+ customChains: [
+ {
+ network: 'luksoTestnet',
+ chainId: 4201,
+ urls: {
+ apiURL: 'https://api.explorer.execution.testnet.lukso.network/api',
+ browserURL: 'https://explorer.execution.testnet.lukso.network/',
+ },
+ },
+ ],
+ },
+ gasReporter: {
+ enabled: true,
+ currency: 'USD',
+ gasPrice: 21,
+ excludeContracts: ['Helpers/'],
+ src: './contracts',
+ showMethodSig: true,
+ },
+ solidity: {
+ version: '0.8.17',
+ settings: {
+ optimizer: {
+ enabled: true,
+ /**
+ * Optimize for how many times you intend to run the code.
+ * Lower values will optimize more for initial deployment cost, higher
+ * values will optimize more for high-frequency usage.
+ * @see https://docs.soliditylang.org/en/v0.8.6/internals/optimizer.html#opcode-based-optimizer-module
+ */
+ runs: 1000,
+ },
+ outputSelection: {
+ '*': {
+ '*': ['storageLayout'],
+ },
+ },
+ },
+ },
+ packager: {
+ // What contracts to keep the artifacts and the bindings for.
+ contracts: [],
+ // Whether to include the TypeChain factories or not.
+ // If this is enabled, you need to run the TypeChain files through the TypeScript compiler before shipping to the registry.
+ includeFactories: true,
+ },
+ paths: {
+ artifacts: 'artifacts',
+ tests: 'tests',
+ },
+ typechain: {
+ outDir: 'types',
+ target: 'ethers-v5',
+ },
+ mocha: {
+ timeout: 10000000,
+ },
+};
+
+export default config;
diff --git a/packages/LSP17Extensions/package.json b/packages/LSP17Extensions/package.json
new file mode 100644
index 000000000..de9e1c1bf
--- /dev/null
+++ b/packages/LSP17Extensions/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "lsp17",
+ "version": "0.12.1",
+ "description": "Package for the LSP17 extensions",
+ "license": "Apache-2.0",
+ "author": "",
+ "keywords": [
+ "LUKSO",
+ "LSP",
+ "Blockchain",
+ "Standards",
+ "Smart Contracts",
+ "Ethereum",
+ "EVM",
+ "Solidity"
+ ],
+ "scripts": {
+ "build": "hardhat compile --show-stack-traces",
+ "clean": "hardhat clean",
+ "format": "prettier --write .",
+ "lint": "eslint . --ext .ts,.js",
+ "lint:solidity": "solhint 'contracts/**/*.sol' && prettier --check 'contracts/**/*.sol'"
+ },
+ "dependencies": {
+ "@erc725/smart-contracts": "^7.0.0",
+ "@openzeppelin/contracts": "^4.9.3",
+ "@account-abstraction/contracts": "^0.6.0",
+ "lsp14": "*",
+ "lsp17contractextension": "*",
+ "lsp20": "*"
+ },
+ "devDependencies": {
+ "@nomicfoundation/hardhat-toolbox": "^2.0.2",
+ "@typechain/ethers-v5": "^10.2.0",
+ "dotenv": "^16.0.3",
+ "eslint-config-custom": "*",
+ "ethers": "^5.7.2",
+ "hardhat": "^2.13.0",
+ "hardhat-contract-sizer": "^2.8.0",
+ "hardhat-deploy": "^0.11.25",
+ "hardhat-gas-reporter": "^1.0.9",
+ "hardhat-packager": "^1.4.2",
+ "solhint": "^3.3.6",
+ "ts-node": "^10.2.0",
+ "tsconfig": "*",
+ "typechain": "^8.0.0",
+ "typescript": "^5.3.3"
+ }
+}
diff --git a/packages/LSP17Extensions/tsconfig.json b/packages/LSP17Extensions/tsconfig.json
new file mode 100644
index 000000000..b7a34e03f
--- /dev/null
+++ b/packages/LSP17Extensions/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "tsconfig/contracts.json",
+ "include": ["**/*.ts"]
+}
diff --git a/remappings.txt b/remappings.txt
index 77ec56c30..53ea7b0d3 100644
--- a/remappings.txt
+++ b/remappings.txt
@@ -17,5 +17,6 @@ lsp7/=packages/LSP7DigitalAsset/
lsp10/=packages/LSP10ReceivedVaults/
lsp14/=packages/LSP14Ownable2Step/
lsp17contractextension/=packages/LSP17ContractExtension/
+lsp17/=packages/LSP17Extensions
lsp20/=packages/LSP20CallVerification/
lsp25/=packages/LSP25ExecuteRelayCall/
diff --git a/tests/LSP17Extensions/Extension4337/4337.test.ts b/tests/LSP17Extensions/Extension4337/4337.test.ts
index 3a9f9ff68..aba94cb4e 100644
--- a/tests/LSP17Extensions/Extension4337/4337.test.ts
+++ b/tests/LSP17Extensions/Extension4337/4337.test.ts
@@ -6,12 +6,12 @@ import { EntryPoint__factory, EntryPoint } from '@account-abstraction/contracts'
import { BytesLike, parseEther } from 'ethers/lib/utils';
import { expect } from 'chai';
import {
- Extension4337__factory,
LSP6KeyManager,
LSP6KeyManager__factory,
UniversalProfile,
UniversalProfile__factory,
} from '../../../types';
+import { Extension4337__factory } from 'lsp17/types';
import { deployEntryPoint, getBalance, isDeployed } from '../helpers/utils';
import { ALL_PERMISSIONS, ERC725YDataKeys, OPERATION_TYPES } from '../../../constants';
import { combinePermissions } from '../../utils/helpers';