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.
What is the story/plan here for the chainId and originChainId of chains that arenāt Ethereum L2s? Like, what if we want to submit an intent on Ethereum towards a L2 on Cosmos, on Sui or on Solana, or vice-versa?
It looks like weād need some sort of namespace or some sort of standardized way to get a canonical chainId for any kind of chain in any ecosystem, with negligible risks of collisionā¦
Thankfully using a uint256 leaves us with a lot of flexibility there.
My initial idea for my own custom services would be to use the hash of something deterministic relying on human-readable namespaces, such as:
Hash("Ethereum-EIP155-1") for Ethereum mainnet
Hash("Cosmos-cosmosevm-1-EVMChainID-9000") for Cosmos mainnet which has a dual chain id principle
The advantage being: chances of a clash are then negligible.
Any thoughts on that front?
It seems there have been some other proposals out there that have the same issue and tried to solve it with for example the chainagnostic one, CAIPs/caip-2.
But I havenāt found any concrete or āuniversalā way of doing this.
As part of the Open Intents Framework weāre discussing significant changes to this ERC, in order to address problems that various implementers have identified.
Are you implementing or integrating with this ERC or do you plan to? If so please comment below and/or DM me contact details.
Wrote up a little interface based off off ERC-7683 that I think would potentially work for cross-VM cross-chain intents. I should add that Iām strongly in favour of singular standards barring the case where a single standard is much more inefficient, I do think the case for an eXtended version is becoming much more palatable hence positing this as an idea. XERC7683/src/IXERC7683.sol at master Ā· QEDK/XERC7683 Ā· GitHub
Just to clarify, do you mean ERC7683 defines the structs and interfaces for cross-chain intents, while different protocols or use cases can have their own implementations? In that scenario, solvers would then declare which implementations they support, correct? Iām only trying to better understand the intention behind this ERC.
Hi all, Iāve opened a CAIP draft that complements 7683 for a wallet-signed envelope with a stable qHash. Thereās live code and tests. Would love some eyes on this and feedback.