From 197cb819d421026aee04a19b94e65ef00fd33b1b Mon Sep 17 00:00:00 2001 From: chriseth Date: Thu, 3 Dec 2020 11:32:38 +0100 Subject: [PATCH] Documentation. --- docs/080-breaking-changes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/080-breaking-changes.rst b/docs/080-breaking-changes.rst index af81f1c4b..c92d4c224 100644 --- a/docs/080-breaking-changes.rst +++ b/docs/080-breaking-changes.rst @@ -19,6 +19,17 @@ the compiler notifying you about it. Checks for overflow are very common, so we made them the default to increase readability of code, even if it comes at a slight increase of gas costs. +* ABI coder v2 is activated by default. + + You can choose to use the old behaviour using ``pragma abicoder v1;``. + The pragma ``pragma experimental ABIEncoderV2;`` is still valid, but it is deprecated and has no effect. + If you want to be explicit, please use ``pragma abicoder v2;`` instead. + + Note that ABI coder v2 supports more types than v1 and performs more sanity checks on the inputs. + ABI coder v2 makes some function calls more expensive and it can also make contract calls + revert that did not revert with ABI coder v1 when they contain data that does not conform to the + parameter types. + * Exponentiation is right associative, i.e., the expression ``a**b**c`` is parsed as ``a**(b**c)``. Before 0.8.0, it was parsed as ``(a**b)**c``.