Skip to content

bridge-monitor: Mobula EIP-712 signature-confirm flow (fixes stuck deposits)#1160

Merged
Flotapponnier merged 2 commits into
devfrom
feat/mobula-sig-test
Jul 13, 2026
Merged

bridge-monitor: Mobula EIP-712 signature-confirm flow (fixes stuck deposits)#1160
Flotapponnier merged 2 commits into
devfrom
feat/mobula-sig-test

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

The Mobula bridge requires a two-step quote flow for EVM origins: unsigned quote → EIP-712 sign the returned typedData → confirm quote echoing signature/intentId/deadline/minAmountOut → broadcast the confirmed response's deposit. Our client was broadcasting the unsigned response, which the Mobula solver silently rejects as unregistered (five 1-dollar test deposits stuck this week). Wired GetSignedQuote in mobula_bridge.go, added EVMPrivateKey() accessor on TxExecutor, patched executor.go to use the signed path. One gotcha for go-ethereum apitypes: Mobula's typedData omits the EIP712Domain type definition (only BridgeIntent is listed), we synthesize the standard {name,version,chainId} entry before hashing. Verified live single-test on demo-api: 3/3 fresh 1-dollar tests settled (Sol→Base, Base→Arb, Arb→Sol) after the fix. go build/vet/test -race clean.

@Flotapponnier
Flotapponnier merged commit 6b57a7f into dev Jul 13, 2026
1 check failed
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