Skip to content

feat: implement USDFree, try 3#1344

Open
grasphoper wants to merge 13 commits intousdfreev2from
usdfreev2-implv3
Open

feat: implement USDFree, try 3#1344
grasphoper wants to merge 13 commits intousdfreev2from
usdfreev2-implv3

Conversation

@grasphoper
Copy link
Collaborator

No description provided.

Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>

// TODO: perhaps this warrants a rename. Since `msg.sender` here does not get recorded as `submitter`. Submitter
// TODO: is only the one doing `submitWithData` or `fill`. Think about naming
function submit(Order calldata order, TypedData calldata orderFunding) external nonReentrant {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so a user can use this function to pre-fill an order?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean pre-fund? Yeah exactly

This can be user-facing or
auto-finalization-facing (e.g. in OFT when there's no obvious submitter to provide extra submitterData)

Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
Signed-off-by: Ihor Farion <ihor@umaproject.org>
@grasphoper grasphoper marked this pull request as ready for review March 17, 2026 19:37
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1aa415c0f6

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +51 to +52
uint256 amountToPropagate = _checkRequirements(step, submitter);
_runFinalAction(orderId, submitter, path.next, step.finalAction, amountToPropagate, s.finalActionValue);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Skip requirement checks when fallback multicall path fails

When multicallData uses a non-zero fallbackRecipient, _executeMulticall catches inner call failures and attempts to recover by draining orderIn.token, but this function still unconditionally runs _checkRequirements and _runFinalAction afterward. In the common case (minAmount > 0), those later checks revert, which rolls back the earlier drain and defeats the fallback behavior entirely, so failed multicalls still fail atomically instead of honoring the configured fallback recipient.

Useful? React with 👍 / 👎.

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.

2 participants