@@ -52,9 +52,6 @@ test.beforeEach(async ({ page }) => {
5252 await expect ( page . getByText ( "ZKsync SSO Demo" ) ) . toBeVisible ( ) ;
5353} ) ;
5454
55- // Session transactions with eth_sendTransaction don't work on Anvil (standard EVM)
56- // because smart accounts need ERC-4337 bundler, but sessions use native tx signing
57- // This works fine on ZKsync Era but not on the Anvil testnet used in CI
5855test . skip ( "Create account with session and send ETH" , async ( { page } ) => {
5956 // Step 1: regular connect to create account with passkey
6057 await page . getByRole ( "button" , { name : "Connect" , exact : true } ) . click ( ) ;
@@ -253,12 +250,7 @@ test("Create passkey account and send ETH", async ({ page }) => {
253250 . toBeGreaterThan ( endBalance + 0.1 ) ;
254251} ) ;
255252
256- // TODO: Paymaster for non-session transactions requires additional implementation
257- // Currently, paymaster only works for session transactions because they use the bundler.
258- // Non-session transactions use auth-server popup flow which doesn't convert to UserOperations.
259- // To fix: Either convert non-session transactions to UserOperations, or implement paymaster
260- // support in the auth-server transaction flow.
261- test . skip ( "Create passkey account and send ETH with paymaster" , async ( { page } ) => {
253+ test ( "Create passkey account and send ETH with paymaster" , async ( { page } ) => {
262254 // Create account with paymaster connect (paymaster sponsors all gas)
263255 await page . getByRole ( "button" , { name : "Connect (Paymaster)" , exact : true } ) . click ( ) ;
264256
@@ -338,20 +330,9 @@ test.skip("Create passkey account and send ETH with paymaster", async ({ page })
338330
339331 // CRITICAL: Verify that fees are shown as sponsored (paymaster covers them)
340332 await expect ( popup . getByText ( "Fees" ) ) . toBeVisible ( ) ;
341-
342- // Check if sponsored text is visible (give it some time to appear)
343333 const sponsoredText = popup . getByText ( "0 ETH (Sponsored)" ) ;
344- const hasSponsoredText = await sponsoredText . isVisible ( ) . catch ( ( ) => false ) ;
345-
346- if ( ! hasSponsoredText ) {
347- // Debug: log what fee text is actually showing
348- const feeSection = await popup . locator ( "text=Fees" ) . locator ( ".." ) . textContent ( ) ;
349- console . log ( "Fee section content:" , feeSection ) ;
350- console . log ( "⚠️ Warning: Expected '0 ETH (Sponsored)' but not found. Continuing test..." ) ;
351- // For now, don't fail the test - just warn. The transaction should still work.
352- } else {
353- console . log ( "✓ Auth server shows fees are sponsored by paymaster" ) ;
354- }
334+ await expect ( sponsoredText , "Paymaster should cover fees - expecting '0 ETH (Sponsored)' to be shown" ) . toBeVisible ( ) ;
335+ console . log ( "✓ Auth server shows fees are sponsored by paymaster" ) ;
355336
356337 // Confirm the transfer
357338 await popup . getByTestId ( "confirm" ) . click ( ) ;
0 commit comments