Skip to content

Commit

Permalink
Rename from resolveDeferral to setAddr
Browse files Browse the repository at this point in the history
  • Loading branch information
makoto committed Apr 8, 2024
1 parent 7f6b0d7 commit d7d5254
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 14 deletions.
3 changes: 1 addition & 2 deletions crosschain-resolver/contracts/IAddrSetter.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
pragma solidity ^0.8.17;

interface IAddrSetter{
function setAddr(bytes32 node, address addr) external view;
function resolveDeferral(bytes calldata name, bytes calldata data) external view returns (bytes memory result);
function setAddr(bytes calldata name, address _addr) external view returns (bytes memory result);
}

12 changes: 4 additions & 8 deletions crosschain-resolver/contracts/L1Resolver.sol
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {IMetadataResolver} from './IMetadataResolver.sol';
import "@openzeppelin/contracts/utils/introspection/ERC165.sol";
import { IAddrSetter } from './IAddrSetter.sol';

contract L1Resolver is EVMFetchTarget, ITargetResolver, IMetadataResolver, IExtendedResolver, ERC165 {
contract L1Resolver is EVMFetchTarget, ITargetResolver, IMetadataResolver, IExtendedResolver, IAddrSetter, ERC165 {
using EVMFetcher for EVMFetcher.EVMFetchRequest;
using BytesUtils for bytes;
IEVMVerifier public immutable verifier;
Expand Down Expand Up @@ -167,16 +167,12 @@ contract L1Resolver is EVMFetchTarget, ITargetResolver, IMetadataResolver, IExte
/**
* @dev Resolve and throws an EIP 3559 compliant error
* @param name DNS encoded ENS name to query
* @param data The actual calldata
* @param _addr The actual calldata
* @return result result of the call
*/
function resolveDeferral(bytes calldata name, bytes calldata data) external view returns (bytes memory result) {
function setAddr(bytes calldata name, address _addr) external view returns (bytes memory result) {
(, address target) = _getTarget(name, 0);
bytes4 selector = bytes4(data);

if (selector == IAddrSetter.setAddr.selector) {
_writeDeferral(target);
}
_writeDeferral(target);
}

function _addr(bytes32 node, address target) private view returns (bytes memory) {
Expand Down
6 changes: 2 additions & 4 deletions crosschain-resolver/test/testResolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -317,15 +317,13 @@ describe('Crosschain Resolver', () => {
expect(await target.supportsInterface('0x9061b923')).to.equal(true) // IExtendedResolver
expect(await target.supportsInterface('0x8a596ebe')).to.equal(true) // IMetadataResolver
expect(await target.supportsInterface('0x01ffc9a7')).to.equal(true) // ERC-165 support
expect(await target.supportsInterface('0x41d40572')).to.equal(true) // IAddrSetter support
expect(await target.supportsInterface('0xf00eebf4')).to.equal(true) // IAddrSetter support
})

describe('EIP 5559', () => {
it('throws StorageHandledByL2 error', async () => {
await target.setTarget(encodedname, resolverAddress)
const i = new ethers.Interface(["function setAddr(bytes32 node, address addr)"])
const calldata = i.encodeFunctionData("setAddr", [node, EMPTY_ADDRESS])
await expect(target.resolveDeferral(encodedname, calldata)).to.be
await expect(target.setAddr(encodedname, EMPTY_ADDRESS)).to.be
.revertedWithCustomError(target, 'StorageHandledByL2')
.withArgs(chainId, resolverAddress)
});
Expand Down

0 comments on commit d7d5254

Please sign in to comment.