From 1a8e51c8493d918b2d52bee49d94c06c99c4559f Mon Sep 17 00:00:00 2001 From: lucas picollo Date: Thu, 11 Jul 2024 16:24:29 -0300 Subject: [PATCH 1/5] refactor: db resolver inhertic from non-abstract contracts --- packages/contracts/src/DatabaseResolver.sol | 132 +++++++++----------- 1 file changed, 62 insertions(+), 70 deletions(-) diff --git a/packages/contracts/src/DatabaseResolver.sol b/packages/contracts/src/DatabaseResolver.sol index 92f5d44..9091434 100644 --- a/packages/contracts/src/DatabaseResolver.sol +++ b/packages/contracts/src/DatabaseResolver.sol @@ -8,19 +8,14 @@ import {OffchainLookup} from "@ens-contracts/dnsregistrar/OffchainDNSResolver.sol"; import {IExtendedResolver} from "@ens-contracts/resolvers/profiles/IExtendedResolver.sol"; -import {IAddrResolver} from - "@ens-contracts/resolvers/profiles/IAddrResolver.sol"; -import {INameResolver} from - "@ens-contracts/resolvers/profiles/INameResolver.sol"; -import {IABIResolver} from "@ens-contracts/resolvers/profiles/IABIResolver.sol"; -import {IPubkeyResolver} from - "@ens-contracts/resolvers/profiles/IPubkeyResolver.sol"; -import {ITextResolver} from - "@ens-contracts/resolvers/profiles/ITextResolver.sol"; -import {IContentHashResolver} from - "@ens-contracts/resolvers/profiles/IContentHashResolver.sol"; -import {IAddressResolver} from - "@ens-contracts/resolvers/profiles/IAddressResolver.sol"; +import {AddrResolver} from "@ens-contracts/resolvers/profiles/AddrResolver.sol"; +import {NameResolver} from "@ens-contracts/resolvers/profiles/NameResolver.sol"; +import {ABIResolver} from "@ens-contracts/resolvers/profiles/ABIResolver.sol"; +import {PubkeyResolver} from + "@ens-contracts/resolvers/profiles/PubkeyResolver.sol"; +import {TextResolver} from "@ens-contracts/resolvers/profiles/TextResolver.sol"; +import {ContentHashResolver} from + "@ens-contracts/resolvers/profiles/ContentHashResolver.sol"; import {IWriteDeferral} from "./IWriteDeferral.sol"; import {SignatureVerifier} from "./SignatureVerifier.sol"; @@ -32,16 +27,15 @@ import {EnumerableSetUpgradeable} from "./utils/EnumerableSetUpgradeable.sol"; * Callers must implement EIP 3668 and ENSIP 10. */ contract DatabaseResolver is - IAddrResolver, - INameResolver, - IABIResolver, - IPubkeyResolver, - ITextResolver, - IContentHashResolver, - IAddressResolver, + IERC165, IExtendedResolver, IWriteDeferral, - IERC165, + AddrResolver, + ABIResolver, + PubkeyResolver, + TextResolver, + ContentHashResolver, + NameResolver, Ownable { @@ -95,6 +89,16 @@ contract DatabaseResolver is _setOffChainDatabaseTimeoutDuration(newOffChainDatabaseTimeoutDuration); } + /* Dummy implementation of the isAuthorised to implement inherited virtual functions */ + function isAuthorised(bytes32 /*node*/ ) + internal + pure + override + returns (bool) + { + return true; + } + //////// OFFCHAIN STORAGE REGISTER DOMAIN //////// /** @@ -177,7 +181,7 @@ contract DatabaseResolver is * @param node The node to update. * @param a The address to set. */ - function setAddr(bytes32 node, address a) external { + function setAddr(bytes32 node, address a) external override { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](2); @@ -214,7 +218,14 @@ contract DatabaseResolver is * @param coinType The constant used to define the coin type of the corresponding address. * @param a The address to set. */ - function setAddr(bytes32 node, uint256 coinType, bytes memory a) public { + function setAddr( + bytes32 node, + uint256 coinType, + bytes memory a + ) + public + override + { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](3); @@ -248,41 +259,6 @@ contract DatabaseResolver is _offChainLookup(msg.data); } - //////// ENS ERC-181 LOGIC //////// - - /** - * Sets the name associated with an ENS node, for reverse records. - * May only be called by the owner of that node in the ENS registry. - * @param node The node to update. - */ - function setName(bytes32 node, string calldata name) external { - IWriteDeferral.parameter[] memory params = - new IWriteDeferral.parameter[](2); - - params[0].name = "node"; - params[0].value = TypeToString.bytes32ToString(node); - - params[1].name = "name"; - params[1].value = name; - - _offChainStorage(params); - } - - /** - * Returns the name associated with an ENS node, for reverse records. - * Defined in EIP181. - * @param - node The ENS node to query. - * @return Always reverts with an OffchainLookup error. - */ - function name(bytes32 /* node */ ) - external - view - override - returns (string memory) - { - _offChainLookup(msg.data); - } - //////// ENS ERC-634 LOGIC //////// /** @@ -298,6 +274,7 @@ contract DatabaseResolver is string calldata value ) external + override { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](3); @@ -340,7 +317,13 @@ contract DatabaseResolver is * @param node The node to update. * @param hash The contenthash to set */ - function setContenthash(bytes32 node, bytes calldata hash) external { + function setContenthash( + bytes32 node, + bytes calldata hash + ) + external + override + { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](2); @@ -393,6 +376,7 @@ contract DatabaseResolver is bytes calldata data ) external + override { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](3); @@ -420,7 +404,7 @@ contract DatabaseResolver is _offChainLookup(msg.data); } - function setPubkey(bytes32 node, bytes32 x, bytes32 y) external { + function setPubkey(bytes32 node, bytes32 x, bytes32 y) external override { IWriteDeferral.parameter[] memory params = new IWriteDeferral.parameter[](3); @@ -617,16 +601,24 @@ contract DatabaseResolver is * @param interfaceID Interface ID. * @return True if a given interface ID is supported. */ - function supportsInterface(bytes4 interfaceID) public pure returns (bool) { - return interfaceID == type(IExtendedResolver).interfaceId - || interfaceID == type(IAddrResolver).interfaceId - || interfaceID == type(IABIResolver).interfaceId - || interfaceID == type(IPubkeyResolver).interfaceId - || interfaceID == type(ITextResolver).interfaceId - || interfaceID == type(INameResolver).interfaceId - || interfaceID == type(IContentHashResolver).interfaceId - || interfaceID == type(IAddressResolver).interfaceId - || interfaceID == type(IWriteDeferral).interfaceId; + function supportsInterface(bytes4 interfaceID) + public + view + override( + IERC165, + ABIResolver, + AddrResolver, + NameResolver, + TextResolver, + PubkeyResolver, + ContentHashResolver + ) + returns (bool) + { + return interfaceID == type(IERC165).interfaceId + || interfaceID == type(IWriteDeferral).interfaceId + || interfaceID == type(IExtendedResolver).interfaceId + || super.supportsInterface(interfaceID); } } From 190e42a819f2ee1eadab241b2ca811e70115e81c Mon Sep 17 00:00:00 2001 From: lucas picollo Date: Mon, 15 Jul 2024 14:41:15 -0300 Subject: [PATCH 2/5] chore: update npm on github actions --- .github/workflows/pull_request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 1432014..cfaaa9f 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -22,10 +22,10 @@ jobs: path: node_modules key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} - - name: Use Node.js 18 + - name: Use Node.js 21 uses: actions/setup-node@v3 with: - node-version: 18 + node-version: 21 cache: 'npm' - name: Install Foundry From 6ffc9ae813ba8f6b447b0afee2bf5ffda33487ef Mon Sep 17 00:00:00 2001 From: lucas picollo Date: Mon, 15 Jul 2024 16:20:21 -0300 Subject: [PATCH 3/5] chore: update deps --- package-lock.json | 348 ++++++++++++++++++++++++++-------- package.json | 6 +- packages/client/package.json | 2 +- packages/gateway/package.json | 10 +- 4 files changed, 275 insertions(+), 91 deletions(-) diff --git a/package-lock.json b/package-lock.json index 674b2fc..f5b4303 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,15 +17,15 @@ "@rocketseat/eslint-config": "^2.2.2", "@thirdweb-dev/contracts": "^3.15.0", "@types/eslint": "^8", - "@types/node": "^20.14.9", - "@typescript-eslint/eslint-plugin": "^7.15.0", + "@types/node": "^20.14.10", + "@typescript-eslint/eslint-plugin": "^7.16.1", "commitizen": "^4.3.0", "cz-conventional-changelog": "^3.3.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "husky": "^9.0.11", "lint-staged": "^15.2.7", - "prettier": "^3.3.2", + "prettier": "^3.3.3", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "tsup": "^8.1.0", @@ -5219,9 +5219,9 @@ "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==" }, "node_modules/@swc/core": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.7.tgz", - "integrity": "sha512-BBzORL9qWz5hZqAZ83yn+WNaD54RH5eludjqIOboolFOK/Pw+2l00/H77H4CEBJnzCIBQszsyqtITmrn4evp0g==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.13.tgz", + "integrity": "sha512-eailUYex6fkfaQTev4Oa3mwn0/e3mQU4H8y1WPuImYQESOQDtVrowwUGDSc19evpBbHpKtwM+hw8nLlhIsF+Tw==", "devOptional": true, "hasInstallScript": true, "dependencies": { @@ -5236,16 +5236,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.6.7", - "@swc/core-darwin-x64": "1.6.7", - "@swc/core-linux-arm-gnueabihf": "1.6.7", - "@swc/core-linux-arm64-gnu": "1.6.7", - "@swc/core-linux-arm64-musl": "1.6.7", - "@swc/core-linux-x64-gnu": "1.6.7", - "@swc/core-linux-x64-musl": "1.6.7", - "@swc/core-win32-arm64-msvc": "1.6.7", - "@swc/core-win32-ia32-msvc": "1.6.7", - "@swc/core-win32-x64-msvc": "1.6.7" + "@swc/core-darwin-arm64": "1.6.13", + "@swc/core-darwin-x64": "1.6.13", + "@swc/core-linux-arm-gnueabihf": "1.6.13", + "@swc/core-linux-arm64-gnu": "1.6.13", + "@swc/core-linux-arm64-musl": "1.6.13", + "@swc/core-linux-x64-gnu": "1.6.13", + "@swc/core-linux-x64-musl": "1.6.13", + "@swc/core-win32-arm64-msvc": "1.6.13", + "@swc/core-win32-ia32-msvc": "1.6.13", + "@swc/core-win32-x64-msvc": "1.6.13" }, "peerDependencies": { "@swc/helpers": "*" @@ -5257,9 +5257,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.7.tgz", - "integrity": "sha512-sNb+ghP2OhZyUjS7E5Mf3PqSvoXJ5gY6GBaH2qp8WQxx9VL7ozC4HVo6vkeFJBN5cmYqUCLnhrM3HU4W+7yMSA==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.13.tgz", + "integrity": "sha512-SOF4buAis72K22BGJ3N8y88mLNfxLNprTuJUpzikyMGrvkuBFNcxYtMhmomO0XHsgLDzOJ+hWzcgjRNzjMsUcQ==", "cpu": [ "arm64" ], @@ -5273,9 +5273,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.6.7.tgz", - "integrity": "sha512-LQwYm/ATYN5fYSYVPMfComPiFo5i8jh75h1ASvNWhXtS+/+k1dq1zXTJWZRuojd5NXgW3bb6mJtJ2evwYIgYbA==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.6.13.tgz", + "integrity": "sha512-AW8akFSC+tmPE6YQQvK9S2A1B8pjnXEINg+gGgw0KRUUXunvu1/OEOeC5L2Co1wAwhD7bhnaefi06Qi9AiwOag==", "cpu": [ "x64" ], @@ -5289,9 +5289,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.7.tgz", - "integrity": "sha512-kEDzVhNci38LX3kdY99t68P2CDf+2QFDk5LawVamXH0iN5DRAO/+wjOhxL8KOHa6wQVqKEt5WrhD+Rrvk/34Yw==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.13.tgz", + "integrity": "sha512-f4gxxvDXVUm2HLYXRd311mSrmbpQF2MZ4Ja6XCQz1hWAxXdhRl1gpnZ+LH/xIfGSwQChrtLLVrkxdYUCVuIjFg==", "cpu": [ "arm" ], @@ -5305,9 +5305,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.7.tgz", - "integrity": "sha512-SyOBUGfl31xLGpIJ/Jd6GKHtkfZyHBXSwFlK7FmPN//MBQLtTBm4ZaWTnWnGo4aRsJwQdXWDKPyqlMBtnIl1nQ==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.13.tgz", + "integrity": "sha512-Nf/eoW2CbG8s+9JoLtjl9FByBXyQ5cjdBsA4efO7Zw4p+YSuXDgc8HRPC+E2+ns0praDpKNZtLvDtmF2lL+2Gg==", "cpu": [ "arm64" ], @@ -5321,9 +5321,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.7.tgz", - "integrity": "sha512-1fOAXkDFbRfItEdMZPxT3du1QWYhgToa4YsnqTujjE8EqJW8K27hIcHRIkVuzp7PNhq8nLBg0JpJM4g27EWD7g==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.13.tgz", + "integrity": "sha512-2OysYSYtdw79prJYuKIiux/Gj0iaGEbpS2QZWCIY4X9sGoETJ5iMg+lY+YCrIxdkkNYd7OhIbXdYFyGs/w5LDg==", "cpu": [ "arm64" ], @@ -5337,9 +5337,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.7.tgz", - "integrity": "sha512-Gp7uCwPsNO5ATxbyvfTyeNCHUGD9oA+xKMm43G1tWCy+l07gLqWMKp7DIr3L3qPD05TfAVo3OuiOn2abpzOFbw==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.13.tgz", + "integrity": "sha512-PkR4CZYJNk5hcd2+tMWBpnisnmYsUzazI1O5X7VkIGFcGePTqJ/bWlfUIVVExWxvAI33PQFzLbzmN5scyIUyGQ==", "cpu": [ "x64" ], @@ -5353,9 +5353,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.7.tgz", - "integrity": "sha512-QeruGBZJ15tadqEMQ77ixT/CYGk20MtlS8wmvJiV+Wsb8gPW5LgCjtupzcLLnoQzDG54JGNCeeZ0l/T8NYsOvA==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.13.tgz", + "integrity": "sha512-OdsY7wryTxCKwGQcwW9jwWg3cxaHBkTTHi91+5nm7hFPpmZMz1HivJrWAMwVE7iXFw+M4l6ugB/wCvpYrUAAjA==", "cpu": [ "x64" ], @@ -5369,9 +5369,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.7.tgz", - "integrity": "sha512-ouRqgSnT95lTCiU/6kJRNS5b1o+p8I/V9jxtL21WUj/JOVhsFmBErqQ0MZyCu514noWiR5BIqOrZXR8C1Knx6Q==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.13.tgz", + "integrity": "sha512-ap6uNmYjwk9M/+bFEuWRNl3hq4VqgQ/Lk+ID/F5WGqczNr0L7vEf+pOsRAn0F6EV+o/nyb3ePt8rLhE/wjHpPg==", "cpu": [ "arm64" ], @@ -5385,9 +5385,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.7.tgz", - "integrity": "sha512-eZAP/EmJ0IcfgAx6B4/SpSjq3aT8gr0ooktfMqw/w0/5lnNrbMl2v+2kvxcneNcF7bp8VNcYZnoHlsP+LvmVbA==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.13.tgz", + "integrity": "sha512-IJ8KH4yIUHTnS/U1jwQmtbfQals7zWPG0a9hbEfIr4zI0yKzjd83lmtS09lm2Q24QBWOCFGEEbuZxR4tIlvfzA==", "cpu": [ "ia32" ], @@ -5401,9 +5401,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.7.tgz", - "integrity": "sha512-QOdE+7GQg1UQPS6p0KxzJOh/8GLbJ5zI1vqKArCCB0unFqUfKIjYb2TaH0geEBy3w9qtXxe3ZW6hzxtZSS9lDg==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.13.tgz", + "integrity": "sha512-f6/sx6LMuEnbuxtiSL/EkR0Y6qUHFw1XVrh6rwzKXptTipUdOY+nXpKoh+1UsBm/r7H0/5DtOdrn3q5ZHbFZjQ==", "cpu": [ "x64" ], @@ -5710,9 +5710,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", - "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", "dependencies": { "undici-types": "~5.26.4" } @@ -5819,16 +5819,16 @@ "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz", - "integrity": "sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -5851,6 +5851,53 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/parser": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.15.0.tgz", @@ -5885,6 +5932,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "7.15.0", "@typescript-eslint/visitor-keys": "7.15.0" @@ -5898,13 +5946,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz", - "integrity": "sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -5924,11 +5972,70 @@ } } }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/types": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", "dev": true, + "peer": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -5942,6 +6049,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "7.15.0", "@typescript-eslint/visitor-keys": "7.15.0", @@ -5966,15 +6074,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz", - "integrity": "sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0" + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -5987,11 +6095,87 @@ "eslint": "^8.56.0" } }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.16.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@typescript-eslint/visitor-keys": { "version": "7.15.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "7.15.0", "eslint-visitor-keys": "^3.4.3" @@ -16044,9 +16228,9 @@ } }, "node_modules/prettier": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", - "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -19635,9 +19819,9 @@ } }, "node_modules/viem": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.17.0.tgz", - "integrity": "sha512-+gaVlsfDsHL1oYdjpatdRxW1WK/slLYVvpOws3fEdLfQFUToezKI6YLC9l1g2uKm4Hg3OdGX1KQy/G7/58tTKQ==", + "version": "2.17.4", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.17.4.tgz", + "integrity": "sha512-6gmBB85I7z1qt/+yPPS+i4L2jNPJqCs+SEb+26WnKVYez13svSzjYMsU9OYYlPFpQmpGSy9dV2bKW6VX68FTgg==", "funding": [ { "type": "github", @@ -20405,15 +20589,15 @@ } }, "node_modules/winston": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", - "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.1.tgz", + "integrity": "sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==", "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.6.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", @@ -21483,7 +21667,7 @@ "reflect-metadata": "^0.2.2", "solidity-coverage": "^0.8.12", "typeorm": "^0.3.20", - "viem": "^2.17.0" + "viem": "^2.17.4" }, "peerDependencies": { "@blockful/tsconfig": "*" @@ -21534,15 +21718,15 @@ "reflect-metadata": "^0.2.2", "ts-node": "^10.9.2", "typeorm": "^0.3.20", - "viem": "^2.17.0", - "winston": "^3.13.0" + "viem": "^2.17.4", + "winston": "^3.13.1" }, "devDependencies": { "@blockful/tsconfig": "*", - "@swc/core": "^1.6.7", + "@swc/core": "^1.6.13", "@types/express": "^4.17.21", "@types/express-mung": "^0.5.5", - "@types/node": "^20.14.9", + "@types/node": "^20.14.10", "@types/pg": "^8", "@types/supertest": "^6.0.2", "better-sqlite3": "^9.4.3", diff --git a/package.json b/package.json index f9f00bd..954ce72 100644 --- a/package.json +++ b/package.json @@ -32,15 +32,15 @@ "@rocketseat/eslint-config": "^2.2.2", "@thirdweb-dev/contracts": "^3.15.0", "@types/eslint": "^8", - "@types/node": "^20.14.9", - "@typescript-eslint/eslint-plugin": "^7.15.0", + "@types/node": "^20.14.10", + "@typescript-eslint/eslint-plugin": "^7.16.1", "commitizen": "^4.3.0", "cz-conventional-changelog": "^3.3.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "husky": "^9.0.11", "lint-staged": "^15.2.7", - "prettier": "^3.3.2", + "prettier": "^3.3.3", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", "tsup": "^8.1.0", diff --git a/packages/client/package.json b/packages/client/package.json index 1fe10c7..b083521 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -26,7 +26,7 @@ "reflect-metadata": "^0.2.2", "solidity-coverage": "^0.8.12", "typeorm": "^0.3.20", - "viem": "^2.17.0" + "viem": "^2.17.4" }, "peerDependencies": { "@blockful/tsconfig": "*" diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 30814e2..26ba269 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -21,10 +21,10 @@ "license": "ISC", "devDependencies": { "@blockful/tsconfig": "*", - "@swc/core": "^1.6.7", + "@swc/core": "^1.6.13", "@types/express": "^4.17.21", "@types/express-mung": "^0.5.5", - "@types/node": "^20.14.9", + "@types/node": "^20.14.10", "@types/pg": "^8", "@types/supertest": "^6.0.2", "better-sqlite3": "^9.4.3", @@ -45,7 +45,7 @@ "reflect-metadata": "^0.2.2", "ts-node": "^10.9.2", "typeorm": "^0.3.20", - "viem": "^2.17.0", - "winston": "^3.13.0" + "viem": "^2.17.4", + "winston": "^3.13.1" } -} \ No newline at end of file +} From ccd26aedf85b78be36fc7a9c596b4a3e49f32ef9 Mon Sep 17 00:00:00 2001 From: lucas picollo Date: Mon, 22 Jul 2024 20:05:47 -0300 Subject: [PATCH 4/5] chore: set node version to 20 on CI --- .github/workflows/pull_request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index cfaaa9f..b1ca408 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -22,10 +22,10 @@ jobs: path: node_modules key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} - - name: Use Node.js 21 + - name: Use Node.js 20 uses: actions/setup-node@v3 with: - node-version: 21 + node-version: 20 cache: 'npm' - name: Install Foundry From a21fa94e3ef225bdd2703c8a0f326909e42bc424 Mon Sep 17 00:00:00 2001 From: lucas picollo Date: Mon, 22 Jul 2024 20:08:30 -0300 Subject: [PATCH 5/5] chore: force build --- .github/workflows/pull_request.yaml | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index b1ca408..cfaaa9f 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -22,10 +22,10 @@ jobs: path: node_modules key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} - - name: Use Node.js 20 + - name: Use Node.js 21 uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 21 cache: 'npm' - name: Install Foundry diff --git a/package.json b/package.json index 954ce72..d923f38 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "contracts": "npm run -w @blockful/contracts", "test": "turbo run test", "test:watch": "turbo run test:watch", - "build": "turbo run build", + "build": "turbo build --force", "prepare": "husky", "lint": "turbo run lint", "commit": "git-cz",