fix: merge conflicts - #98
Merged
Merged
Conversation
…ionless permissionless@0.3.7 has optional peer ox@^0.11.3 but viem@2.55.1 ships ox@0.14.30, which is outside that range. Adding overrides.permissionless.ox in package.json pins the resolution to 0.14.30 so npm resolves cleanly without the blanket legacy-peer-deps flag. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
rongquan1
approved these changes
Jul 31, 2026
rongquan1
pushed a commit
that referenced
this pull request
Jul 31, 2026
* feat: gasless transactions (#89) * chore: e2e tests for txns * feat: gasless transactions * fix: add legacy-peer-deps to resolve permissionless/ox/viem conflict permissionless@0.3.7 declares peerOptional ox@^0.11.3 but viem@2.55.1 ships ox@0.14.30, which is out of range. trustvc@2.15.0-beta.2 requires both viem@^2.53.1 and permissionless@^0.3.6, so neither can be downgraded. legacy-peer-deps makes npm skip the conflicting optional peer check. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: regenerate package-lock.json with sentry and react-ga4 entries Lock file was missing @sentry/react, @sentry/vite-plugin, and react-ga4 that were added during the upstream merge, causing npm ci to fail in CI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: move whitelist fallback tests into gasless section for CI compatibility The two whitelist-fallback tests require hasGaslessConfig=true (PIMLICO_API_KEY set) to reach the whitelist check. In CI without a .env file the module-level constant is undefined, so the hook skips delegation/whitelist entirely and the assertions on checkPaymasterWhitelist always failed. Moving them into the gasless section which uses vi.stubEnv + vi.resetModules + dynamic imports ensures PIMLICO_API_KEY is set when these tests run. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: add @playwright/test explicitly to ensure playwright-core is installed synpress-cache imports playwright-core at runtime. Since @playwright/test was only a transitive peer dep of synpress (not listed directly), it was not installed under legacy-peer-deps, causing ERR_MODULE_NOT_FOUND in CI during the e2e:setup-wallet step. Pinning to 1.48.2 matches the version already resolved in the lock file. * fix: exclude amoy-verify and pol-verify specs from main e2e run The pattern /verify-.*\.spec\.ts/ only matched files starting with "verify-", leaving amoy-verify.spec.ts and pol-verify.spec.ts in the main MetaMask suite. Those specs hit external RPC endpoints (Amoy/Polygon mainnet) which are unreliable in CI and have no MetaMask dependency. Widened to /.*verify.*\.spec\.ts/ so all verify specs (local, amoy, pol) run only via playwright.verify.config.ts. * chore: remove push trigger from e2e workflow E2E runs on every push to main/develop were expensive and unnecessary. Keeping only pull_request (gates PRs) and workflow_dispatch (manual runs). * fix: move @testing-library/dom to devDeps; disable e2e retries on dirty chain - @testing-library/dom belongs in devDependencies (test-only, not shipped) - retries disabled in playwright.config.ts: every spec mutates Hardhat chain state (transfer/reject/return), so a retry after partial failure hits an already-modified chain and fails for a different reason — retries here give false signal, not recovery Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: apply CodeRabbit review fixes for gasless transaction feature - Extract shared makeGaslessHook factory to eliminate ~90-line duplication across 10 hooks; each hook is now a ~20-line thin wrapper - Add paymasterStorage.ts helper with custom event for same-tab reactivity - Make ActionSelectionForm reactive to paymaster localStorage changes - Add try/catch around eligibility checks to fall back to paid path on RPC failure - Add tokenRegistryAddress + tokenId to hasGaslessConfig for AcceptReturned/RejectReturned - Fix blank error messages for unknown/gasless errors with Error.message fallback - Add aria-invalid, aria-describedby, role="alert" to paymaster address input - Merge duplicate .check-gasless-content-success-text CSS rules - Replace hard-coded pixel dimensions with fluid values in pay-on-behalf CSS - Replace gap shorthand with column-gap to preserve row-gap: 0px * fix: show both children and errorMessage in DocumentTransferMessage Previously the component rendered errorMessage OR children — never both. After the error-fallback fix in makeGaslessHook (e.message for unknown errors), errorMessage became truthy for contract-level reverts, hiding address/context children that E2E tests depend on. Now children always render; errorMessage appends below when present, giving users both the context (current addresses) and the error detail. * chore: reset paymaster address on page reload (in-memory store) Swap localStorage for a module-level Map so the paymaster address clears on every page load. Also drops the cross-tab 'storage' event listener in ActionSelectionForm since it is no longer relevant. TODO: restore localStorage persistence when the feature is ready. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: apply CodeRabbit review fixes (round 2) (#94) * fix: apply CodeRabbit review fixes (round 2) - Icons: use stroke prop for line/circle in warning icon (was hardcoded #FF8200) - VerifyResult: remove debug console statements leaking RPC URL and wallet identifiers - checkDelegation: add 10s AbortController timeout to RPC fetch - AcceptReturned/RejectReturned: add tokenId validation to directGuard - useContactForm: validate presigned.length === pendingItems.length before upload - index.css: replace fixed height/width on gasless error classes with min-height/auto * chore: pin @trustvc/trustvc to exact version 2.15.0-beta.2 Remove caret range to prevent unintended upgrades to future beta versions. * fix: merge conflicts (#98) * fix: code rabbit changes * chore: replace legacy-peer-deps with targeted ox override for permissionless permissionless@0.3.7 has optional peer ox@^0.11.3 but viem@2.55.1 ships ox@0.14.30, which is outside that range. Adding overrides.permissionless.ox in package.json pins the resolution to 0.14.30 so npm resolves cleanly without the blanket legacy-peer-deps flag. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: code rabit comments --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: wire VITE_PIMLICO_API_KEY into dev and prod deploy workflows (#99) Without this key at build time hasGaslessConfig evaluates to false in makeGaslessHook, causing every transaction to fall back to the direct (payable) path even after paymaster verification succeeds. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolve code conflicts and code rabit comments