From cfaee9b0a52ad809d28c8bb315a265b7c2c8b3cb Mon Sep 17 00:00:00 2001 From: b00ste Date: Tue, 19 Sep 2023 15:48:27 +0300 Subject: [PATCH] [C4 Analysis] Add warnings in LSP0 --- docs/standards/universal-profile/lsp0-erc725account.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/standards/universal-profile/lsp0-erc725account.md b/docs/standards/universal-profile/lsp0-erc725account.md index 16ca23a8a8..29d52056e8 100644 --- a/docs/standards/universal-profile/lsp0-erc725account.md +++ b/docs/standards/universal-profile/lsp0-erc725account.md @@ -228,6 +228,13 @@ Check the [**fallback function**](../../contracts/contracts/LSP0ERC725Account/LS ::: +:::warning + +In the `LSP0ERC725Account` contract, calls to the fallback function revert if no matching function selector is found. However, the `0x00000000` function selector returns in order to allow the Unviersal Profile to act similarly to EOAs, you can send data to the Universal Profile without executing anything else. +If any security check involves calling an `LSP17Extension` do not rely on extensions to revert, but check its return value instead. + +::: + Once a smart contract based account is deployed on the blockchain, it is not possible to modify the contract to add new native functions or change the behavior of existing ones. This can be a limitation for these accounts, that may need to support new use cases, functions, and standards that may be adopted in the future. **[LSP17-ContractExtension](../generic-standards/lsp17-contract-extension.md)** defines a mechanism for extending a contract to support new standard and functions through the use of **extensions**.