From 5229119c88f44fe4ccb25ea6fa657103dac21f1c Mon Sep 17 00:00:00 2001 From: Kingster Date: Tue, 23 Dec 2025 10:43:14 +0800 Subject: [PATCH 1/4] init sip-00008 proposal --- proposals/00008-personal-sign-for-eip-7702.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 proposals/00008-personal-sign-for-eip-7702.md diff --git a/proposals/00008-personal-sign-for-eip-7702.md b/proposals/00008-personal-sign-for-eip-7702.md new file mode 100644 index 0000000..ec89118 --- /dev/null +++ b/proposals/00008-personal-sign-for-eip-7702.md @@ -0,0 +1,70 @@ +--- +number: '00008' +title: `personal_sign` Authorization for EIP-7702 +authors: Kingter Wang (kingter@piplabs.xyz) +sponsors: Leo Chen (leo@piplabs.xyz) +created: 2025-12-22 +type: Standard +status: Accepted +supersedes: +superseded-by: +extends: +--- + +## Summary + +This SIP formalizes support on the Story chain for EIP-7702 authorization signatures produced via `personal_sign`. + +The change expands wallet compatibility for EIP-7702 type `0x04` transactions while preserving the existing +authorization semantics and security guarantees. + + +[forum discussion link](https://forum.story.foundation/t/proposal-support-personal-sign-for-eip-7702-authorization-signatures/37328) + +## Motivation + +EIP-7702 relies on off-chain authorization signatures to enable delegated execution. + +In practice, many widely used wallets—especially modern browser wallets—do not support `eth_sign`, +but do support `personal_sign`. Without accepting `personal_sign`-based authorizations, +these wallets cannot participate in EIP-7702 flows on Story. + +This SIP ensures that EIP-7702 remains usable with real-world wallet infrastructure. + +## Proposal + +The Story execution client SHOULD accept EIP-7702 authorization signatures generated via `personal_sign`. + +Such signatures MUST represent a canonical, human-readable authorization message that unambiguously binds: + +- the chain ID +- the authorized implementation address +- the authorization nonce + +The execution client MUST treat `personal_sign` and `eth_sign` authorizations as semantically equivalent once verified. + +Transactions containing `personal_sign` authorizations includes an explicit signaling +mechanism allowing the execution client to distinguish the signature type during verification. + + +### Drawbacks + +N/A + +### Alternatives Considered + +N/A + +### User Impact + +- Enables EIP-7702 usage for modern browser wallets +- Improves onboarding and developer experience +- Requires no changes to user transaction flows +- Does not affect existing users or transactions + +## Implementation Considerations + +- The change is limited to authorization verification logic in the execution client +- No changes to transaction structure or consensus rules +- Backward compatibility is preserved +- Message construction details are considered implementation-specific From 25d6d4dd88c5d2f5c0d1a98b1faa594d2a5edf1b Mon Sep 17 00:00:00 2001 From: Kingster Date: Tue, 23 Dec 2025 10:56:04 +0800 Subject: [PATCH 2/4] fix lint --- proposals/00008-personal-sign-for-eip-7702.md | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/proposals/00008-personal-sign-for-eip-7702.md b/proposals/00008-personal-sign-for-eip-7702.md index ec89118..5f5fff2 100644 --- a/proposals/00008-personal-sign-for-eip-7702.md +++ b/proposals/00008-personal-sign-for-eip-7702.md @@ -1,6 +1,6 @@ --- number: '00008' -title: `personal_sign` Authorization for EIP-7702 +title: Support personal_sign Authorization for EIP-7702 authors: Kingter Wang (kingter@piplabs.xyz) sponsors: Leo Chen (leo@piplabs.xyz) created: 2025-12-22 @@ -13,38 +13,47 @@ extends: ## Summary -This SIP formalizes support on the Story chain for EIP-7702 authorization signatures produced via `personal_sign`. +This SIP formalizes support on the Story chain for EIP-7702 authorization +signatures produced via `personal_sign`. -The change expands wallet compatibility for EIP-7702 type `0x04` transactions while preserving the existing -authorization semantics and security guarantees. +The change expands wallet compatibility for EIP-7702 type `0x04` transactions +while preserving the existing authorization semantics and security guarantees. [forum discussion link](https://forum.story.foundation/t/proposal-support-personal-sign-for-eip-7702-authorization-signatures/37328) ## Motivation -EIP-7702 relies on off-chain authorization signatures to enable delegated execution. +EIP-7702 relies on off-chain authorization signatures to enable delegated +execution. -In practice, many widely used wallets—especially modern browser wallets—do not support `eth_sign`, -but do support `personal_sign`. Without accepting `personal_sign`-based authorizations, -these wallets cannot participate in EIP-7702 flows on Story. +In practice, many widely used wallets—especially modern browser wallets—do +not support `eth_sign`, but do support `personal_sign`. Without accepting +`personal_sign`-based authorizations, these wallets cannot participate in +EIP-7702 flows on Story. -This SIP ensures that EIP-7702 remains usable with real-world wallet infrastructure. +This SIP ensures that EIP-7702 remains usable with real-world wallet +infrastructure. ## Proposal -The Story execution client SHOULD accept EIP-7702 authorization signatures generated via `personal_sign`. +The Story execution client SHOULD accept EIP-7702 authorization signatures +generated via `personal_sign`. -Such signatures MUST represent a canonical, human-readable authorization message that unambiguously binds: +Such signatures MUST represent a canonical, human-readable authorization +message that unambiguously binds: - the chain ID - the authorized implementation address - the authorization nonce -The execution client MUST treat `personal_sign` and `eth_sign` authorizations as semantically equivalent once verified. +The execution client MUST treat `personal_sign` and `eth_sign` authorizations +as semantically equivalent once verified. -Transactions containing `personal_sign` authorizations includes an explicit signaling -mechanism allowing the execution client to distinguish the signature type during verification. +Transactions containing `personal_sign` authorizations includes an explicit +signaling +mechanism allowing the execution client to distinguish the signature type +during verification. ### Drawbacks From 0d9899d3f54e4c8e5f35aa0bcfc66bcff5a86b36 Mon Sep 17 00:00:00 2001 From: Kingster Date: Tue, 23 Dec 2025 11:02:00 +0800 Subject: [PATCH 3/4] Fix lint --- proposals/00008-personal-sign-for-eip-7702.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/00008-personal-sign-for-eip-7702.md b/proposals/00008-personal-sign-for-eip-7702.md index 5f5fff2..a94b251 100644 --- a/proposals/00008-personal-sign-for-eip-7702.md +++ b/proposals/00008-personal-sign-for-eip-7702.md @@ -1,6 +1,6 @@ --- number: '00008' -title: Support personal_sign Authorization for EIP-7702 +title: Support personal_sign for EIP-7702 authors: Kingter Wang (kingter@piplabs.xyz) sponsors: Leo Chen (leo@piplabs.xyz) created: 2025-12-22 From aba0c3ea35c21d3a7034acc6c53b9b946da25f3a Mon Sep 17 00:00:00 2001 From: Kingster Date: Tue, 23 Dec 2025 11:41:19 +0800 Subject: [PATCH 4/4] fix lint and polish --- proposals/00008-personal-sign-for-eip-7702.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/00008-personal-sign-for-eip-7702.md b/proposals/00008-personal-sign-for-eip-7702.md index a94b251..733b925 100644 --- a/proposals/00008-personal-sign-for-eip-7702.md +++ b/proposals/00008-personal-sign-for-eip-7702.md @@ -50,7 +50,7 @@ message that unambiguously binds: The execution client MUST treat `personal_sign` and `eth_sign` authorizations as semantically equivalent once verified. -Transactions containing `personal_sign` authorizations includes an explicit +Transactions containing `personal_sign` authorizations MUST include an explicit signaling mechanism allowing the execution client to distinguish the signature type during verification.