Vyper 0.4.0: Mandatory @external/@internal Decorators Break Legacy Contracts
Goal Upgrade a legacy Vyper 0.3.x codebase to 0.4.x while preserving public API compatibility. Constraints and Uncertainty In 0.4.0 every function must be annotated with either @external or @internal ; the previous implicit public default is no longer accepted. This change can silently alter contract behavior if a function intended to be externally callable