ERC-7683: Cross Chain Intents Standard

I agree that different settlement systems can have different settlement logics. And I am also aligned with filler experience improvement.

As I understand, ResolvedCrossChainOrder which is the response of resolve and resolveFor functions should contain the terms of settlement for filler to know how he can successfully fulfil this intent.

There is no room for settlement specific metadata in that struct right now. If we add the additional settlement specific metadata the struct would change and no longer adhere to the standard, isn’t it?

I think the recommendation here is to make use of the fill Instruction to define terms of settlement. This can work. But I think the terminology is a bit confusing here.

Shouldn’t the fill function in the destination settler be payable?

Current:

function fill(bytes32 orderId, bytes calldata originData, bytes calldata fillerData) external;

Proposing:

function fill(bytes32 orderId, bytes calldata originData, bytes calldata fillerData) external payable;

Rationale: This will provide the filler to pass native tokens to be used in the fulfilment of the request.

2 Likes

GM, Kombi here.

How does the filler prove they have indeed made payment?

The EIP doesn’t cover exactly how settlement is done.

Can you point me to resources that explain how filling is verified and settlement done?