Skip to content

feat: integrate Rust WASM SDK for encoding#213

Draft
JackHamer09 wants to merge 56 commits intomainfrom
integrate-rust-wasm-sdk
Draft

feat: integrate Rust WASM SDK for encoding#213
JackHamer09 wants to merge 56 commits intomainfrom
integrate-rust-wasm-sdk

Conversation

@JackHamer09
Copy link
Member

Changes

  • Integrated Rust SDK through WASM for all encoding operations
  • Removed ZKsync-specific dependencies (viem/zksync)
  • Removed paymaster and EIP-712 transaction logic
  • Simplified to standard EVM-compatible implementation

Details

  • Single WASM encoding function for deployment calldata
  • Standardized transaction signing across all account types
  • Removed deprecated paymaster handlers and utilities
  • All account types (passkey, session, recovery, oidc, ecdsa) now use standard viem

Still working out the deps
Now need to sign with it!
Getting closer because the failure is in rust now?
now we need to troubleshoot contracts
Provide more hostname options
really trying to match the existing flow, but it's still failing
signatures
Doing more validation off-chain and logging in rust, it looks like the
user is required for these contracts
but now in rust!

Needs some more thought, other test now fails locally, so going back to
main to debug that
This was touched when attempting to update the other test
The web sdk still needs these?
Don't want to blow away and start over
Double revert to an updated one
Gas estimation!?
Going to do more in javascript, but probably need to double check the
rust now to see if it's not cheating or double-encoding or something
Giving up on this test until I can test it from the wasm package
Will go back to getting wasm test working
Sometimes get confused and undo
no progress, will need to start debugging contracts
Now need to clean it up
Moving into SDK from client
Cleanup to smaller chunks to better understand data relationships
Signing in a single function
Sometimes it fails when I rebuild the sdk?
Very confused, but now have a better way to replicate
Obviously just running anvil won't work
Can encode via alloy
and lockfile for ci
tests are passing locally, let's see what what we get in CI
Keep it simple until we have test coverage
cpb8010 and others added 25 commits November 1, 2025 00:06
There's lots of stuff leftover from tests that are no longer needed
should also make this easier to review
Really hope this gets the e2e passing in ci again
Simplifies the SDK and better configures the client
Removed debug interface tests
This reverts commit 7319a52.
This was causing the e2e tests to fail?
Very confused on this one
Passkey signature fails?
Going to spend time doing bisect so want this for backup
will need to debug signature encoding in rust
…so-erc4337-ffi-web/src/lib.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Still trash code, but cleaner?
…so-erc4337-ffi-web/Cargo.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…so-erc4337-ffi-web/src/lib.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
still very flaky tests
also update tests to better reject and check for errors
Should fix flaky tests
- Use Rust SDK through WASM for all encoding operations
- Remove ZKsync-specific dependencies (viem/zksync)
- Remove paymaster and EIP-712 logic
- Simplify to standard EVM-compatible implementation
@JackHamer09 JackHamer09 changed the base branch from main to passkey-cleanup November 5, 2025 15:56
Base automatically changed from passkey-cleanup to working-passkey November 5, 2025 16:21
Base automatically changed from working-passkey to main November 5, 2025 17:06
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.

2 participants