Skip to content

fix(relayer): match wallet-webapp FeeOptions request shape#966

Open
taylanpince wants to merge 3 commits intomasterfrom
fix/rpc-relayer-feeoptions-execdata
Open

fix(relayer): match wallet-webapp FeeOptions request shape#966
taylanpince wants to merge 3 commits intomasterfrom
fix/rpc-relayer-feeoptions-execdata

Conversation

@taylanpince
Copy link
Contributor

@taylanpince taylanpince commented Feb 13, 2026

What / Why

We observed Polygon Relayer/FeeOptions failures for undeployed v3 wallets when the client requests fee options using the guest module as the simulation target.

wallet-webapp-v3 successfully requests fee options for the same wallet by calling:

  • wallet = <walletAddress>
  • to = <walletAddress>
  • data = Payload.encode(calls, self=<walletAddress>) (raw 0x03… bundle)

That request shape returns fee options reliably on Polygon.

This PR updates RpcRelayer.feeOptions to match the wallet-webapp-v3 request shape:

  • force to = wallet
  • encode payload with self = wallet

This avoids guest-module simulation pitfalls while still representing the same underlying meta-transaction bundle.

Notes

  • This was validated end-to-end in our ecosystem-wallet CLI on Polygon: fee options returned and a send-native --broadcast succeeded for an undeployed wallet.

Risk

Low: this only affects the request shape for the FeeOptions call; the returned fee options and the subsequent SendMetaTxn flow remain unchanged.

@taylanpince taylanpince requested review from a team as code owners February 13, 2026 21:22
@taylanpince taylanpince changed the title fix(relayer): wrap feeOptions calldata for guest module simulation fix(relayer): match wallet-webapp FeeOptions request shape Feb 13, 2026
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.

1 participant