Skip to content

signer,pdp: refactor AuthHelper to use SignDigestFunc#15

Merged
parkan merged 1 commit into
masterfrom
feat/signdigest-authhelper
Apr 30, 2026
Merged

signer,pdp: refactor AuthHelper to use SignDigestFunc#15
parkan merged 1 commit into
masterfrom
feat/signdigest-authhelper

Conversation

@parkan
Copy link
Copy Markdown
Collaborator

@parkan parkan commented Apr 30, 2026

No description provided.

EIP-712 typed-data signing for PDP extraData only needs one operation
from the key holder: 'sign this 32-byte keccak digest, return 65 bytes'.
Switch AuthHelper to take a SignDigestFunc instead of a raw
*ecdsa.PrivateKey, and add SignDigest to the EVMSigner interface so
secp256k1 signers (incl. future HSM/remote variants) can plug in without
leaking private keys.

- signer.EVMSigner: add SignDigest(digest []byte) ([]byte, error). V is
  the raw recovery ID 0/1 (go-ethereum crypto.Sign convention); callers
  needing the on-chain 27/28 form normalize themselves.
- pdp.AuthHelper: take SignDigestFunc + signer address explicitly. Keep
  NewAuthHelperFromKey as a convenience for raw-key callers (tests,
  scripts, the existing Client.NewAuthHelper). signTypedData now calls
  through the func and validates the 65-byte length.
- synapse.go callers updated to NewAuthHelperFromKey.

Singularity's dealpusher will use NewAuthHelper(evmSigner.SignDigest,
evmSigner.EVMAddress(), ...) so its keystore-backed signer never has to
hand out a raw key.
@parkan parkan merged commit e59b042 into master Apr 30, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant