relayer: encode txn bundles with deploy txn as guest module payloads (v3)#344
relayer: encode txn bundles with deploy txn as guest module payloads (v3)#344patrislav wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0359e4f65e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 207bbc62e2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
207bbc6 to
2101231
Compare
There was a problem hiding this comment.
💡 Codex Review
Line 149 in 2101231
When a bundle includes both a factory call and regular wallet calls, seqSig was produced for the original full payload (see SignTransactions building/signing txns.Payload(...) in wallet.go), but this code verifies that same signature against walletTxns after filtering out factory calls. That makes the nested wallet execute signature invalid, so the guest bundle reverts at the wallet step and post-deploy calls never run. The execute payload here must be signed for the filtered call set (or the transformation must happen before signing).
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
Hey, thanks for these changes, but I think I need more context here. Why is this change needed? It feels like Codex is correct here that the signature passed in would no longer be valid for the new filtered set of non-factory calls.
Is it because the signature was generated using only the non-factory calls? Where is this issue surfacing?
Yeah, strange it only found the issue on the 3rd try, but it's 100% correct. It works when sending just a deploy txn on its own or just non-deploy txns but fails when mixing the two. My issue was when using |
|
Thanks, but closing in favour of #350. |
This PR fixes v3 transaction bundles that contain a deploy txn. If one is found, it is removed from the bundle, then the remaining bundle is wrapped into a payload of a call to the guest module.