Conversation
|
Visit the preview URL for this PR (updated for commit de766a4): https://zksync-auth-server-staging--pr235-update-contracts-8piijhn7.web.app (expires Thu, 11 Dec 2025 18:08:23 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 509a9c9ea42583076f531c53cf2979c544d5d0b7 |
for audited contracts there were some small changes
still need e2e fixes
7c3360d to
2d34ff7
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates function signatures across the codebase to include a proof parameter for session creation, aligning with changes made to audited smart contracts. The proof parameter represents a signature from the session key proving ownership, which binds the session to a specific account.
Key changes:
- Added
proof: Bytesparameter to session creation functions in Rust - Updated TypeScript SDK to generate and pass session key proofs
- Changed
LimitTypeenum from string values to numeric values matching contract enums - Updated
finalize_recoveryto accept adataparameter
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| lib.rs | Added proof parameter to encode_create_session_call_data function |
| send.rs | Updated tests to generate session proofs using session key signatures |
| revoke.rs | Updated tests to generate session proofs and moved variable declaration |
| create.rs | Added proof parameter to CreateSessionParams and related functions |
| active.rs | Updated tests to generate dynamic session keys and proofs |
| session.rs | Changed contract module visibility from private to public |
| finalize.rs | Added data parameter to FinalizeRecoveryParams |
| deploy.rs | Modified account deployment to install session validator post-deployment |
| utils.ts | Added getSessionHash utility and updated sessionSpecToJSON to convert enum values |
| types.ts | Changed LimitType enum from string to numeric values |
| session.test.ts | Updated test assertions to expect string limit types instead of numeric |
| client-actions.ts | Added proof parameter to createSession function |
| actions/sessions.ts | Added proof parameter to CreateSessionParams and function calls |
| SessionKeyValidator.ts | Added proof parameter to ABI definition |
| erc4337-contracts | Updated subproject commit reference |
| SessionCreator.vue | Added proof generation logic for session creation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...7/crates/zksync-sso-erc4337-core/src/erc4337/account/modular_smart_account/session/create.rs
Outdated
Show resolved
Hide resolved
bigInt to number breaks types
has zksync os support
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...o-erc4337/crates/zksync-sso-erc4337-core/src/erc4337/account/modular_smart_account/deploy.rs
Show resolved
Hide resolved
...7/crates/zksync-sso-erc4337-core/src/erc4337/account/modular_smart_account/session/create.rs
Outdated
Show resolved
Hide resolved
…so-erc4337-core/src/erc4337/account/modular_smart_account/session/create.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
ah CI is failing |
Summary
This PR updates the project to use the new signature scheme and corresponding updated function / API signatures across the SSO service. The change aligns the repo with the latest authentication spec and fixes incompatibilities with clients that expect the new signing behavior.
Description
Additional context
The previous signature format is did not pass audit and is no longer compatible with newer clients and the updated auth spec.
This change ensures interoperability, improves correctness of verification, and removes ambiguity from signature formats used by downstream consumers.