Offizielles MASTR Logo MASTR Arbeit unterstützen
Inhalt
← Wiki-Startseite

Technical reference

ERC-1271: a contract decides whether a signature is valid

Smart-wallet signatures depend on validation logic and state, not only public-key recovery.

Source-based reference · Updated 12 September 2026

Rechercheartikel und Referenzeinträge erscheinen auf Englisch. Die Navigation ist in sieben Sprachen verfügbar.

In diesem Artikel
  1. The validation call
  2. Validity can depend on state
  3. An integration test worth keeping
  4. Sources

The validation call

ERC-1271 defines isValidSignature for contract accounts. A verifier supplies a message hash and signature; the contract indicates acceptance with a specified return value. The contract may apply multisig rules or another authorisation scheme. Recovering an externally owned account from the signature is not an equivalent check.

Validity can depend on state

A signature accepted before a signer rotation may not be accepted afterwards. The verifier must consider the account's current validation rules and cannot treat an earlier successful call as permanent authorisation for unrelated future actions. Contract upgrades can also change how the same account validates requests.

An integration test worth keeping

Test the same request before and after changing the authorised signer set. Also test an incorrect contract address and a contract returning an unexpected value. These tests separate a real contract-signature check from code that merely assumes every wallet is controlled by one conventional private key.

Sources

Weiterlesen

MASTR

Unabhängige Recherche unterstützen

Die Untersuchungen, Originalbelege und Anleitungen hier sind frei zugänglich. Freiwillige Spenden finanzieren die Recherche mit und helfen, die MASTR-Tools weiterhin anzubieten.

Wallet öffnen