From abf795a370a71e5dc50b4dc319259aa797f8d812 Mon Sep 17 00:00:00 2001 From: sudo rm -rf --no-preserve-root / Date: Sat, 25 May 2024 14:06:53 +0200 Subject: [PATCH] chore[docs]: `implements` does not check event declarations (#4052) as of v0.4.0, `implements` does not check that events are (re-)defined in the implementing contract --------- Co-authored-by: Charles Cooper --- docs/interfaces.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/interfaces.rst b/docs/interfaces.rst index 23dce6a7b1..b22facf030 100644 --- a/docs/interfaces.rst +++ b/docs/interfaces.rst @@ -188,6 +188,11 @@ This imports the defined interface from the vyper file at ``an_interface.vy`` (o Interfaces that implement functions with return values that require an upper bound (e.g. ``Bytes``, ``DynArray``, or ``String``), the upper bound defined in the interface represents the lower bound of the implementation. Assuming a function ``my_func`` returns a value ``String[1]`` in the interface, this would mean for the implementation function of ``my_func`` that the return value must have **at least** length 1. This behavior might change in the future. +.. note:: + + Prior to v0.4.0, ``implements`` required that events defined in an interface were re-defined in the "implementing" contract. As of v0.4.0, this is no longer required because events can be used just by importing them. Any events used in a contract will automatically be exported in the ABI output. + + Extracting Interfaces =====================