• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ExWeb3 / elixir_ethers / fd269f6c4c25e4fa638668d7aff2228726a687f8
90%

Build:
DEFAULT BRANCH: main
Ran 19 Jul 2026 06:00AM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Jul 2026 05:58AM UTC coverage: 90.029% (+1.2%) from 88.838%
fd269f6c4c25e4fa638668d7aff2228726a687f8

push

github

web-flow
Add Sign-In with Ethereum (EIP-4361) support (#267)

* Add Sign-In with Ethereum (EIP-4361) support

Implement Ethers.Siwe and Ethers.Siwe.Message covering the SIWE message
lifecycle: new/new! construction with field validation, crypto-random
nonce generation, EIP-4361 rendering (with String.Chars), strict parsing
per the spec grammar (verified against the spruceid/siwe reference test
vectors with byte-for-byte round-tripping), and stateless validation of
the validity window and domain/scheme/nonce/address binding.

Timestamps are stored as RFC 3339 strings exactly as parsed so that a
parsed message always re-renders identical to its source, which is
required for signature verification.

Signature verification (Ethers.Siwe.verify/3) lands separately on top of
the ERC-6492 universal signature verification work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Add Ethers.Siwe.verify/3 end-to-end SIWE verification

The one-call backend flow: parse the raw EIP-4361 message (or accept an
already-parsed struct), run stateless field validation, then check the
signature via Ethers.Signature.verify_message/4 — EOA signatures verify
locally with zero RPC round-trips while ERC-1271 and ERC-6492
smart-contract wallets are verified with a single eth_call. When given a
string, the signature is verified over the exact original input.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Address review comments: reject empty port in domain, fix fixture typos

An authority with a port delimiter but no digits (example.com:) is now
rejected as a SIWE domain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

181 of 181 new or added lines in 2 files covered. (100.0%)

1526 of 1695 relevant lines covered (90.03%)

47.99 hits per line

Jobs
ID Job ID Ran Files Coverage
1 fd269f6c4c25e4fa638668d7aff2228726a687f8.1 19 Jul 2026 06:00AM UTC 37
90.03
GitHub Action Run
Source Files on build fd269f6c4c25e4fa638668d7aff2228726a687f8
  • Tree
  • List 37
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • fd269f6c on github
  • Prev Build on main (#8DEDC0D7...)
  • Next Build on main (#997D9A57...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc