See [EIP-1271: SIGNING AND VERIFYING SMART CONTRACT SIGNATURES](https://ethereum.org/pt/developers/tutorials/eip-1271-smart-contract-signatures/) 1. Register dappnode safe with "publishers" 2. Create module to interact with the dappnode safe: - Define message to be signed -> IPFS hash? - Asks safe to add signed message -> sdk publish - A transaction to be executed before or together publishment transaction? - Determine the gnosis safe to use with the from Addres of the transaction. - Ask the determined safe`isValidSignature` mehod with the IPFS hash of the pkg for signature verification. 3. Implement above module in sdk-publish -> Add option to publish packages with a safe in the sdk-publish 4. Implement above module in dappmanager -> Verification of published package calling the safe. - dappmanager should either consider a package as signed when having standard signature.json from EOA or calling from Address safe (if available) `isValidSignature` - error handling must take into account all the edge cases when calling the from address and throwing an error: - Not a smart contract - Not signed ! - Method does not exist - Other? -