Skip to content

Commit b6cb0e2

Browse files
authored
Make CCIPBatcher respect Lookup w/FLAG_DONE (#499)
* rename ICompositeExtendedResolver to ICompositeResolver
1 parent a54e5cf commit b6cb0e2

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

contracts/ccipRead/CCIPBatcher.sol

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ abstract contract CCIPBatcher is CCIPReader {
6060
) external view returns (Batch memory) {
6161
for (uint256 i; i < batch.lookups.length; ++i) {
6262
Lookup memory lu = batch.lookups[i];
63+
if ((lu.flags & FLAG_DONE) != 0) {
64+
continue; // don't call a lookup that's already done
65+
}
6366
if ((lu.flags & FLAGS_ANY_EIP140) == 0) {
6467
uint256 flags = detectEIP140(lu.target)
6568
? FLAG_EIP140_AFTER

contracts/resolvers/profiles/ICompositeExtendedResolver.sol renamed to contracts/resolvers/profiles/ICompositeResolver.sol

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ pragma solidity >=0.8.4;
33

44
import {IExtendedResolver} from "./IExtendedResolver.sol";
55

6-
/// @notice A resolver that is composed of multiple resolvers.
6+
/// @notice A resolver that calls other resolvers.
77
/// @dev Interface selector: `0xf686ea10`
8-
interface ICompositeExtendedResolver is IExtendedResolver {
8+
interface ICompositeResolver is IExtendedResolver {
99
/// @notice Fetch the underlying resolver for `name`.
1010
/// Callers should enable EIP-3668.
11+
///
12+
/// * If `offchain`, additional information is necessary to locate `resolver`.
13+
/// * If `resolver` is null, `offchain` is irrelevant.
1114
///
1215
/// @param name The DNS-encoded name.
1316
///

0 commit comments

Comments
 (0)