From 5980084ebe942bf0719619920a6f397f0658df58 Mon Sep 17 00:00:00 2001 From: CJ42 Date: Mon, 11 Sep 2023 11:11:42 +0100 Subject: [PATCH 1/2] docs: add Code4Rena bug fixes + missing details in CHANGELOG for v0.11.1 --- CHANGELOG.md | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7739d4f1e..32f4b0ca8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,11 @@ All notable changes to this project will be documented in this file. See [standa ### ⚠ BREAKING CHANGES -- Include LSP20 in interfaceId calculation ([#668](https://github.com/lukso-network/lsp-smart-contracts/pull/668)), from: `0x3e89ad98` to `0x24871b3d` +- change visibility of `_reentrancyStatus` state variable from `private` to `internal` in `LSP6KeyManagerCore` ([#651](https://github.com/lukso-network/lsp-smart-contracts/pull/651)) + +- change data key for `SupportedStandards` from `LSP3UniversalProfile` to `LSP3Profile` in `LSP3Constants.sol` and `constants.ts` ([#664](https://github.com/lukso-network/lsp-smart-contracts/pull/664)) + +- Include LSP20 in interfaceId calculation ([#668](https://github.com/lukso-network/lsp-smart-contracts/pull/668)), from: `0x3e89ad98` to `0x24871b3d`. - Return instead of revert when the `LSP1UniversalReceiverDelegateUP` is not able to register LSP5-LSP10 data keys. ([#672](https://github.com/lukso-network/lsp-smart-contracts/pull/672)) @@ -22,20 +26,54 @@ All notable changes to this project will be documented in this file. See [standa - Remove `LSP0Utils.sol`. ([#683](https://github.com/lukso-network/lsp-smart-contracts/pull/683)) -- Change token LSP1 notification data format from `abi.encodepacked` to `abi.encode`. ([#699](https://github.com/lukso-network/lsp-smart-contracts/pull/699)) +- Add LSP17 in inheritance of LSP7 and LSP8 ([#697](https://github.com/lukso-network/lsp-smart-contracts/pull/697)) + +- Change token LSP1 notification data format from `abi.encodePacked` to `abi.encode`. ([#699](https://github.com/lukso-network/lsp-smart-contracts/pull/699)) - Notify Operator via LSP1 in `authorizeOperator` in LSP7 and LSP8. ([#700](https://github.com/lukso-network/lsp-smart-contracts/pull/700)) ### Features -- Add LSP25ExecuteRelayCall as its seperate standard. ([#678](https://github.com/lukso-network/lsp-smart-contracts/pull/678)) +- Mark multiple functions as `virtual` across the smart contracts, so that their behaviour can be overriden through inheritance [#644](https://github.com/lukso-network/lsp-smart-contracts/pull/644). + +- Change visibility of `_reentrancyStatus` state variable from `private` to `internal` in `LSP6KeyManagerCore` ([#651](https://github.com/lukso-network/lsp-smart-contracts/pull/651)) + +- Create implementation of `LSP23LinkedContractsFactory` ([#658](https://github.com/lukso-network/lsp-smart-contracts/pull/658)) + +- Add external call (= hook) to LSP1 in LSP14 `renounceOwnership` function ([#663](https://github.com/lukso-network/lsp-smart-contracts/pull/663)) + +- Add `LSP25ExecuteRelayCall` as its separate standard. ([#678](https://github.com/lukso-network/lsp-smart-contracts/pull/678)) + +- Add `getOperatorsOf(address)` function to LSP7 ([#698](https://github.com/lukso-network/lsp-smart-contracts/pull/698)) + +- Add LSP17 in inheritance of LSP7 and LSP8 ([#697](https://github.com/lukso-network/lsp-smart-contracts/pull/697)) + +- Notify Operator via LSP1 in authorizeOperator in LSP7 and LSP8. (https://github.com/lukso-network/lsp-smart-contracts/pull/700) + +### Perfs + +- Improve deployment + runtime cost of LSP6 Key Manager by replacing calldata slices with `abi.decode` when verifying `ERC725X.execute(uint256,address,uint256,bytes)` calldata payloads ([#682](https://github.com/lukso-network/lsp-smart-contracts/pull/682)) ### Bug Fixes +- Add lock guard when transferring ownership in LSP14 ([#645](https://github.com/lukso-network/lsp-smart-contracts/pull/645)) + +- Delete pending when confirming renounce ownership the second time ([#646](https://github.com/lukso-network/lsp-smart-contracts/pull/646)) + +- Disallowing setting LSP6 Key Manager as a LSP17 extension in setData paths in Key Manager ([#648](https://github.com/lukso-network/lsp-smart-contracts/pull/648)) + +- Add check for `length == 0` when checking for Allowed ERC725Y Data Keys in Key Manager to prevent mask from allowing any data keys ([#659](https://github.com/lukso-network/lsp-smart-contracts/pull/659)) + +- Use bitwise OR `|` operator in `LSP6Utils` function `combinePermissions(...)` to prevent from adding same permission twice and generate incorrect `bytes32` permission value ([#660](https://github.com/lukso-network/lsp-smart-contracts/pull/660)) + +- Resolve inheritance of `LSP8Burnable` to include LSP4 ([#661](https://github.com/lukso-network/lsp-smart-contracts/pull/661)) + - Refactor `_fallbackLSP17Extendable` function to enable to run code after it is called + prevent potential solc bug "storage write removal". ([#674](https://github.com/lukso-network/lsp-smart-contracts/pull/674)) - Update lsp8 compatible approve() logic to allow operators themselves to authorize operators. ([#681](https://github.com/lukso-network/lsp-smart-contracts/pull/681)) +- Add input validations for LSP6, LSP1 and LSP17 data keys when setting data in `LSP6SetDataModule` ([#679](https://github.com/lukso-network/lsp-smart-contracts/pull/679)) + ### Build - upgrade `@erc725/smart-contracts` version to 5.2.0 ([#696](https://github.com/lukso-network/lsp-smart-contracts/pull/696)) From 22bd82bc998e8541bc4256251428e013b05f3b61 Mon Sep 17 00:00:00 2001 From: CJ42 Date: Mon, 11 Sep 2023 12:41:36 +0100 Subject: [PATCH 2/2] docs: fix name of folder for LSP23 --- .../ILSP23LinkedContractsFactory.sol | 0 .../IPostDeploymentModule.sol | 0 .../LSP23Errors.sol | 0 .../LSP23LinkedContractsFactory.sol | 0 .../modules/UniversalProfileInitPostDeploymentModule.sol | 0 .../modules/UniversalProfilePostDeploymentModule.sol | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/ILSP23LinkedContractsFactory.sol (100%) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/IPostDeploymentModule.sol (100%) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/LSP23Errors.sol (100%) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/LSP23LinkedContractsFactory.sol (100%) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/modules/UniversalProfileInitPostDeploymentModule.sol (100%) rename contracts/{LSP23LinkedContractsDeployment => LSP23LinkedContractsFactory}/modules/UniversalProfilePostDeploymentModule.sol (100%) diff --git a/contracts/LSP23LinkedContractsDeployment/ILSP23LinkedContractsFactory.sol b/contracts/LSP23LinkedContractsFactory/ILSP23LinkedContractsFactory.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/ILSP23LinkedContractsFactory.sol rename to contracts/LSP23LinkedContractsFactory/ILSP23LinkedContractsFactory.sol diff --git a/contracts/LSP23LinkedContractsDeployment/IPostDeploymentModule.sol b/contracts/LSP23LinkedContractsFactory/IPostDeploymentModule.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/IPostDeploymentModule.sol rename to contracts/LSP23LinkedContractsFactory/IPostDeploymentModule.sol diff --git a/contracts/LSP23LinkedContractsDeployment/LSP23Errors.sol b/contracts/LSP23LinkedContractsFactory/LSP23Errors.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/LSP23Errors.sol rename to contracts/LSP23LinkedContractsFactory/LSP23Errors.sol diff --git a/contracts/LSP23LinkedContractsDeployment/LSP23LinkedContractsFactory.sol b/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/LSP23LinkedContractsFactory.sol rename to contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.sol diff --git a/contracts/LSP23LinkedContractsDeployment/modules/UniversalProfileInitPostDeploymentModule.sol b/contracts/LSP23LinkedContractsFactory/modules/UniversalProfileInitPostDeploymentModule.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/modules/UniversalProfileInitPostDeploymentModule.sol rename to contracts/LSP23LinkedContractsFactory/modules/UniversalProfileInitPostDeploymentModule.sol diff --git a/contracts/LSP23LinkedContractsDeployment/modules/UniversalProfilePostDeploymentModule.sol b/contracts/LSP23LinkedContractsFactory/modules/UniversalProfilePostDeploymentModule.sol similarity index 100% rename from contracts/LSP23LinkedContractsDeployment/modules/UniversalProfilePostDeploymentModule.sol rename to contracts/LSP23LinkedContractsFactory/modules/UniversalProfilePostDeploymentModule.sol