You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| sender | address | The address that approved tokens (must be requester if matching) |
267
+
| amount | uint256 | Amount of tokens approved and to be deposited |
268
+
| token | address | Address of the token (must be RLC) |
269
+
| data | bytes | Optional: ABI-encoded orders for matching |
270
+
271
+
#### Return Values
272
+
273
+
| Name | Type | Description |
274
+
| ---- | ---- | ----------- |
275
+
|[0]| bool | success True if operation succeeded @custom:example```solidity // Encode orders bytes memory data = abi.encode(appOrder, datasetOrder, workerpoolOrder, requestOrder); // One transaction does it all RLC(token).approveAndCall(iexecProxy, dealCost, data); ```|
276
+
253
277
## IexecOrderManagementFacet
254
278
255
279
### manageAppOrder
@@ -343,6 +367,11 @@ function matchOrders(struct IexecLibOrders_v5.AppOrder _apporder, struct IexecLi
343
367
344
368
Match orders. The requester gets debited.
345
369
370
+
This function does not use `msg.sender` to determine who pays for the deal.
371
+
The sponsor is always set to `_requestorder.requester`, regardless of who calls this function.
372
+
This design allows the function to be safely called via delegatecall from other facets
373
+
(e.g., IexecEscrowTokenFacet.receiveApproval) without security concerns.
0 commit comments