Ethers.js ?bug in ccip callback (eip-2544 vs eip-3668)?

We’re doing more CCIP related tests with latest ethers.js v6 and looks like it’s failing after offchain lookup. (or they changed some config to activate ENS+CCIP and it’s not yet documented?)

Ethers.js ENS resolver function got EIP2544=true instead of EIP3668? (bit confusing)
it’s not handling OffchainLookup(..) revert from resolver contract with proper gateway call and final ccip callback origin contract to resolve actual returned data from gateway… (ENS CCIP(EIP3668) resolve fail in v6 · Issue #4043 · ethers-io/ethers.js · GitHub)

    let provider = new InfuraProvider("mainnet"); /
    let resolver = await provider.getResolver(
        "freetibet.istest.eth" // ok with 2544
    );
    let content = await resolver.getContentHash(); 
    // offchain lookup revert data is ok, ethers.js isn't doing EIP3668 (ccip) lookup. 
    console.log(resolver, content);

Also, we had old issue on ethers v5 with fallback gateways during offchain lookup, we thought v6 would fix this, & requested @ricmoo :pray: to look into this few times. ((CCIP) "Error: processing response error" after Error 504 with html body · Issue #3148 · ethers-io/ethers.js · GitHub) So reposting new issue here hoping it’ll be fixed/documented ASAP.

@ethlimo.eth :pray: if you’ve time, pls help us debugging this v6 ethers+ccip… we’re supposed to deploy new resolver contract for IPFS2.eth today but we’re not sure now if there’s something we’re missing or it’s bug. (https://freetibet.istest.limo) resolves, so I guess limo is still on v5 ethers or if you know how we’re supposed to use v6 resolve functions?

2 Likes

I got reply from eth.limo devs,

FYI limo is on ethers v5
A lot of stuff is broken with v6, that’s why we haven’t upgraded