go-ethereum/signer/core
murraystewart96 0b5d47ad55 signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support
When Clef receives a text/plain signing request, it now detects and
validates EIP-4361 (SIWE) messages:

- Parses the full ABNF structure (domain, address, statement, URI,
  version, chain ID, nonce, issued-at, and all optional fields) with
  strict field ordering and RFC 3339/3986 format validation
- Warns the user when a message looks like SIWE but fails to parse
- For HTTP connections, compares the HTTP Origin header against the
  domain claimed in the message; a mismatch is a CRIT-level warning
  that causes hard rejection in non-advanced mode (--advanced flag
  suppresses rejection to a warning instead)
- Renders parsed SIWE fields as structured labelled entries in the
  signing prompt rather than a raw text blob
- Adds EIP-55 address checksum validation per spec requirement

Test vectors are sourced from the reference SIWE implementation.
2026-05-16 15:43:35 +01:00
..
apitypes signer/core/apitypes: fix encoding of opening parenthesis (#33702) 2026-04-13 15:30:36 +02:00
testdata signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support 2026-05-16 15:43:35 +01:00
api.go all: fix some typos in comments and names (#31023) 2025-01-14 14:16:15 +01:00
api_test.go signer/core: fix error message in test (#32807) 2025-09-30 19:31:42 +08:00
auditlog.go log: use native log/slog instead of golang/exp (#29302) 2024-03-22 13:17:59 +01:00
cliui.go signer: implement blob txs sendtxargs, enable blobtx-signing (#28976) 2024-04-05 19:29:44 +02:00
gnosis_safe.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
signed_data.go signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support 2026-05-16 15:43:35 +01:00
signed_data_test.go signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support 2026-05-16 15:43:35 +01:00
siwe.go signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support 2026-05-16 15:43:35 +01:00
siwe_test.go signer/clef: implement EIP-4361 Sign-In With Ethereum (SIWE) support 2026-05-16 15:43:35 +01:00
stdioui.go rpc: use atomic types (#27214) 2023-05-04 04:54:45 -04:00
uiapi.go signer/core: prevent nil pointer panics in keystore operations (#33829) 2026-03-06 21:50:30 +01:00
validation.go all: fix some go-critic linter warnings (#23709) 2021-10-13 17:31:02 +02:00
validation_test.go signer: run tests in parallel (#28536) 2023-11-20 08:20:59 +01:00