import { ChainId, NormalizedAddress } from 'enssdk';
import * as viem from 'viem';
import { Abi, Address, Chain } from 'viem';
import * as viem_chains from 'viem/chains';

declare const EnhancedAccessControl: readonly [{
    readonly type: "function";
    readonly name: "HCA_FACTORY";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IHCAFactoryBasic";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "ROOT_RESOURCE";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getAssigneeCount";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "counts";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "mask";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "grantRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "grantRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "hasAssignees";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "hasRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "hasRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "revokeRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "revokeRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "roleCount";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "roles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "supportsInterface";
    readonly inputs: readonly [{
        readonly name: "interfaceId";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "event";
    readonly name: "EACRolesChanged";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "oldRoleBitmap";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "newRoleBitmap";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "error";
    readonly name: "EACCannotGrantRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "EACCannotRevokeRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "EACInvalidAccount";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EACInvalidRoleBitmap";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACMaxAssignees";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "role";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACMinAssignees";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "role";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACRootResourceNotAllowed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EACUnauthorizedAccountRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}];

declare const ETHRegistrar: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner_";
        readonly type: "address";
    }, {
        readonly internalType: "contract IHCAFactoryBasic";
        readonly name: "hcaFactory";
        readonly type: "address";
    }, {
        readonly internalType: "contract IPermissionedRegistry";
        readonly name: "ethRegistry";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "beneficiary";
        readonly type: "address";
    }, {
        readonly internalType: "contract IRentPriceOracle";
        readonly name: "oracle";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "gracePeriod";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "minCommitmentAge";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "maxCommitmentAge";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "minRegisterDuration";
        readonly type: "uint64";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "validFrom";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "blockTimestamp";
        readonly type: "uint64";
    }];
    readonly name: "CommitmentTooNew";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "validTo";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "blockTimestamp";
        readonly type: "uint64";
    }];
    readonly name: "CommitmentTooOld";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint64";
        readonly name: "minDuration";
        readonly type: "uint64";
    }];
    readonly name: "DurationTooShort";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "MaxCommitmentAgeTooLow";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "NameNotAvailable";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "NameNotRenewable";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "OwnableInvalidOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "OwnableUnauthorizedAccount";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "token";
        readonly type: "address";
    }];
    readonly name: "SafeERC20FailedOperation";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "UnexpiredCommitmentExists";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentMade";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "contract IRegistry";
        readonly name: "subregistry";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly indexed: false;
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "base";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "newExpiry";
        readonly type: "uint64";
    }, {
        readonly indexed: false;
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "contract IRentPriceOracle";
        readonly name: "oracle";
        readonly type: "address";
    }];
    readonly name: "RentPriceOracleUpdated";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "BENEFICIARY";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "ETH_REGISTRY";
    readonly outputs: readonly [{
        readonly internalType: "contract IPermissionedRegistry";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "GRACE_PERIOD";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "HCA_FACTORY";
    readonly outputs: readonly [{
        readonly internalType: "contract IHCAFactoryBasic";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MAX_COMMITMENT_AGE";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_COMMITMENT_AGE";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_REGISTER_DURATION";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_RENEW_DURATION";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commitmentAt";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "commitTime";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }];
    readonly name: "getRegisterPrice";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "base";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "base";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "getRemainingGracePeriod";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }];
    readonly name: "getRenewPrice";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "isAvailable";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "isRenewable";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "contract IRegistry";
        readonly name: "subregistry";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "contract IRegistry";
        readonly name: "subregistry";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "register";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "uint64";
        readonly name: "duration";
        readonly type: "uint64";
    }, {
        readonly internalType: "contract IERC20";
        readonly name: "paymentToken";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "rentPriceOracle";
    readonly outputs: readonly [{
        readonly internalType: "contract IRentPriceOracle";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IRentPriceOracle";
        readonly name: "oracle";
        readonly type: "address";
    }];
    readonly name: "setRentPriceOracle";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceId";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];

/**
 * Minimal ABI for the devnet MockToken (MockUSDC / MockDAI) contracts.
 *
 * Only covers `mint`, which is not part of the standard ERC-20 ABI. All other ERC-20
 * operations (`approve`, `balanceOf`, `transfer`, etc.) are available via viem's built-in
 * `erc20Abi`.
 *
 * @see packages/datasources/src/devnet/constants.ts — `contracts.MockUSDC`, `contracts.MockDAI`
 */
declare const MockToken: readonly [{
    readonly type: "function";
    readonly name: "mint";
    readonly inputs: readonly [{
        readonly name: "to";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "amount";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}];

declare const Registry$1: readonly [{
    readonly type: "constructor";
    readonly inputs: readonly [{
        readonly name: "hcaFactory";
        readonly type: "address";
        readonly internalType: "contract IHCAFactoryBasic";
    }, {
        readonly name: "metadata";
        readonly type: "address";
        readonly internalType: "contract IRegistryMetadata";
    }, {
        readonly name: "ownerAddress";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "ownerRoles";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "HCA_FACTORY";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IHCAFactoryBasic";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "METADATA_PROVIDER";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IRegistryMetadata";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "ROOT_RESOURCE";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "balanceOf";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "id";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "balanceOfBatch";
    readonly inputs: readonly [{
        readonly name: "accounts";
        readonly type: "address[]";
        readonly internalType: "address[]";
    }, {
        readonly name: "ids";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getAssigneeCount";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "counts";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "mask";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getExpiry";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getParent";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "parent";
        readonly type: "address";
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getResolver";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getResource";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getState";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "state";
        readonly type: "tuple";
        readonly internalType: "struct IPermissionedRegistry.State";
        readonly components: readonly [{
            readonly name: "status";
            readonly type: "uint8";
            readonly internalType: "enum IPermissionedRegistry.Status";
        }, {
            readonly name: "expiry";
            readonly type: "uint64";
            readonly internalType: "uint64";
        }, {
            readonly name: "latestOwner";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "tokenId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "resource";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getStatus";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint8";
        readonly internalType: "enum IPermissionedRegistry.Status";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getSubregistry";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "contract IRegistry";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "getTokenId";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "grantRoles";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "grantRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "hasAssignees";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "hasRoles";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "hasRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "isApprovedForAll";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "latestOwnerOf";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "ownerOf";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "register";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "registry";
        readonly type: "address";
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "resolver";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "expiry";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "renew";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "newExpiry";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "revokeRoles";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "revokeRootRoles";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "roleCount";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "roles";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "safeBatchTransferFrom";
    readonly inputs: readonly [{
        readonly name: "from";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "to";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "ids";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }, {
        readonly name: "values";
        readonly type: "uint256[]";
        readonly internalType: "uint256[]";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "safeTransferFrom";
    readonly inputs: readonly [{
        readonly name: "from";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "to";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "id";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "value";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setApprovalForAll";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "approved";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setParent";
    readonly inputs: readonly [{
        readonly name: "parent";
        readonly type: "address";
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setResolver";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "resolver";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setSubregistry";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "registry";
        readonly type: "address";
        readonly internalType: "contract IRegistry";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "supportsInterface";
    readonly inputs: readonly [{
        readonly name: "interfaceId";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "unregister";
    readonly inputs: readonly [{
        readonly name: "anyId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "uri";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "event";
    readonly name: "ApprovalForAll";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "approved";
        readonly type: "bool";
        readonly indexed: false;
        readonly internalType: "bool";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "EACRolesChanged";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "oldRoleBitmap";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "newRoleBitmap";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ExpiryUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "newExpiry";
        readonly type: "uint64";
        readonly indexed: true;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelRegistered";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "labelHash";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }, {
        readonly name: "expiry";
        readonly type: "uint64";
        readonly indexed: false;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelReserved";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "labelHash";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "expiry";
        readonly type: "uint64";
        readonly indexed: false;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelUnregistered";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ParentUpdated";
    readonly inputs: readonly [{
        readonly name: "parent";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ResolverUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "resolver";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "SubregistryUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "subregistry";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TokenRegenerated";
    readonly inputs: readonly [{
        readonly name: "oldTokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "newTokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TokenResource";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "resource";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TransferBatch";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "from";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "to";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "ids";
        readonly type: "uint256[]";
        readonly indexed: false;
        readonly internalType: "uint256[]";
    }, {
        readonly name: "values";
        readonly type: "uint256[]";
        readonly indexed: false;
        readonly internalType: "uint256[]";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TransferSingle";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "from";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "to";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "id";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "value";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "URI";
    readonly inputs: readonly [{
        readonly name: "value";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "id";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "error";
    readonly name: "CannotReduceExpiry";
    readonly inputs: readonly [{
        readonly name: "oldExpiry";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }, {
        readonly name: "newExpiry";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }];
}, {
    readonly type: "error";
    readonly name: "CannotSetPastExpiry";
    readonly inputs: readonly [{
        readonly name: "expiry";
        readonly type: "uint64";
        readonly internalType: "uint64";
    }];
}, {
    readonly type: "error";
    readonly name: "EACCannotGrantRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "EACCannotRevokeRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "EACInvalidAccount";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EACInvalidRoleBitmap";
    readonly inputs: readonly [{
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACMaxAssignees";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "role";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACMinAssignees";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "role";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "EACRootResourceNotAllowed";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "EACUnauthorizedAccountRoles";
    readonly inputs: readonly [{
        readonly name: "resource";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "roleBitmap";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "account";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InsufficientBalance";
    readonly inputs: readonly [{
        readonly name: "sender";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "balance";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "needed";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InvalidApprover";
    readonly inputs: readonly [{
        readonly name: "approver";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InvalidArrayLength";
    readonly inputs: readonly [{
        readonly name: "idsLength";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "valuesLength";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InvalidOperator";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InvalidReceiver";
    readonly inputs: readonly [{
        readonly name: "receiver";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155InvalidSender";
    readonly inputs: readonly [{
        readonly name: "sender";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "ERC1155MissingApprovalForAll";
    readonly inputs: readonly [{
        readonly name: "operator";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "owner";
        readonly type: "address";
        readonly internalType: "address";
    }];
}, {
    readonly type: "error";
    readonly name: "LabelAlreadyRegistered";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
}, {
    readonly type: "error";
    readonly name: "LabelAlreadyReserved";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
}, {
    readonly type: "error";
    readonly name: "LabelExpired";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "LabelIsEmpty";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "LabelIsTooLong";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
}, {
    readonly type: "error";
    readonly name: "TransferDisallowed";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "from";
        readonly type: "address";
        readonly internalType: "address";
    }];
}];

/**
 * Minimal ABI for UserRegistry proxy initialization.
 * @see https://github.com/ensdomains/contracts-v2/blob/5677359db15edd8b7e2a7cda4798d801ab129c9d/contracts/src/registry/UserRegistry.sol
 */
declare const UserRegistry: readonly [{
    readonly type: "function";
    readonly name: "initialize";
    readonly inputs: readonly [{
        readonly name: "admin";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "roles";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}];

/**
 * Minimal ABI for the VerifiableFactory: a CREATE2 factory that deploys deterministic,
 * UUPS-compatible proxy clones. Each proxy's address is deterministic given the factory
 * address, the shared proxy logic, the caller, and a user-supplied salt.
 *
 * Used in the devnet seeding to deploy `UserRegistry` instances for custom 2LDs.
 *
 * @see https://github.com/ensdomains/verifiable-factory — contract source
 * @see https://github.com/ensdomains/contracts-v2/blob/main/contracts/script/setup.ts — usage in devnet setup
 */
declare const VerifiableFactory: readonly [{
    readonly type: "function";
    readonly name: "deployProxy";
    readonly inputs: readonly [{
        readonly name: "implementation";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "salt";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "event";
    readonly name: "ProxyDeployed";
    readonly inputs: readonly [{
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "proxyAddress";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "salt";
        readonly type: "uint256";
        readonly indexed: false;
        readonly internalType: "uint256";
    }, {
        readonly name: "implementation";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}];

declare const BaseRegistrar: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "_ens";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "_baseNode";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "approved";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Approval";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "ControllerAdded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "ControllerRemoved";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameMigrated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Transfer";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "GRACE_PERIOD";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "addController";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "approve";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "balanceOf";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "baseNode";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "controllers";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "ens";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "getApproved";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "nameExpires";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "ownerOf";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "reclaim";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "register";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "registerOnly";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "removeController";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "setResolver";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "symbol";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "tokenURI";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "transferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];

declare const L2ReverseRegistrar: readonly [{
    readonly type: "constructor";
    readonly inputs: readonly [{
        readonly name: "chainId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "CHAIN_ID";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "PARENT_NODE";
    readonly inputs: readonly [];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "inceptionOf";
    readonly inputs: readonly [{
        readonly name: "addr";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "inception";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "name";
    readonly inputs: readonly [{
        readonly name: "node";
        readonly type: "bytes32";
        readonly internalType: "bytes32";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "nameForAddr";
    readonly inputs: readonly [{
        readonly name: "addr";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "resolve";
    readonly inputs: readonly [{
        readonly name: "name_";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }, {
        readonly name: "data";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "setName";
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setNameForAddr";
    readonly inputs: readonly [{
        readonly name: "addr";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "name";
        readonly type: "string";
        readonly internalType: "string";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setNameForAddrWithSignature";
    readonly inputs: readonly [{
        readonly name: "claim";
        readonly type: "tuple";
        readonly internalType: "struct IL2ReverseRegistrar.NameClaim";
        readonly components: readonly [{
            readonly name: "name";
            readonly type: "string";
            readonly internalType: "string";
        }, {
            readonly name: "addr";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "chainIds";
            readonly type: "uint256[]";
            readonly internalType: "uint256[]";
        }, {
            readonly name: "signedAt";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
    }, {
        readonly name: "signature";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "setNameForOwnableWithSignature";
    readonly inputs: readonly [{
        readonly name: "claim";
        readonly type: "tuple";
        readonly internalType: "struct IL2ReverseRegistrar.NameClaim";
        readonly components: readonly [{
            readonly name: "name";
            readonly type: "string";
            readonly internalType: "string";
        }, {
            readonly name: "addr";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "chainIds";
            readonly type: "uint256[]";
            readonly internalType: "uint256[]";
        }, {
            readonly name: "signedAt";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
    }, {
        readonly name: "owner";
        readonly type: "address";
        readonly internalType: "address";
    }, {
        readonly name: "signature";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "function";
    readonly name: "supportsInterface";
    readonly inputs: readonly [{
        readonly name: "interfaceID";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
        readonly internalType: "bool";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "syncName";
    readonly inputs: readonly [{
        readonly name: "addr";
        readonly type: "address";
        readonly internalType: "address";
    }];
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
}, {
    readonly type: "event";
    readonly name: "ExpiryUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "newExpiry";
        readonly type: "uint64";
        readonly indexed: true;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelRegistered";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "labelHash";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
        readonly indexed: false;
        readonly internalType: "address";
    }, {
        readonly name: "expiry";
        readonly type: "uint64";
        readonly indexed: false;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelReserved";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "labelHash";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "expiry";
        readonly type: "uint64";
        readonly indexed: false;
        readonly internalType: "uint64";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "LabelUnregistered";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "NameChanged";
    readonly inputs: readonly [{
        readonly name: "node";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "name";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "NameForAddrChanged";
    readonly inputs: readonly [{
        readonly name: "addr";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "name";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ParentUpdated";
    readonly inputs: readonly [{
        readonly name: "parent";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "label";
        readonly type: "string";
        readonly indexed: false;
        readonly internalType: "string";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ResolverUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "resolver";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "SubregistryUpdated";
    readonly inputs: readonly [{
        readonly name: "tokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "subregistry";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "contract IRegistry";
    }, {
        readonly name: "sender";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "TokenRegenerated";
    readonly inputs: readonly [{
        readonly name: "oldTokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }, {
        readonly name: "newTokenId";
        readonly type: "uint256";
        readonly indexed: true;
        readonly internalType: "uint256";
    }];
    readonly anonymous: false;
}, {
    readonly type: "error";
    readonly name: "ChainIdsNotAscending";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "CurrentChainNotFound";
    readonly inputs: readonly [{
        readonly name: "chainId";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "InvalidSignature";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "LabelIsEmpty";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "LabelIsTooLong";
    readonly inputs: readonly [{
        readonly name: "label";
        readonly type: "string";
        readonly internalType: "string";
    }];
}, {
    readonly type: "error";
    readonly name: "NotOwnerOfContract";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "SignatureNotValidYet";
    readonly inputs: readonly [{
        readonly name: "signedAt";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "currentTime";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "StaleSignature";
    readonly inputs: readonly [{
        readonly name: "signedAt";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }, {
        readonly name: "inception";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "TimestampOutOfRange";
    readonly inputs: readonly [{
        readonly name: "timestamp";
        readonly type: "uint256";
        readonly internalType: "uint256";
    }];
}, {
    readonly type: "error";
    readonly name: "Unauthorized";
    readonly inputs: readonly [];
}, {
    readonly type: "error";
    readonly name: "UnreachableName";
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "bytes";
        readonly internalType: "bytes";
    }];
}, {
    readonly type: "error";
    readonly name: "UnsupportedResolverProfile";
    readonly inputs: readonly [{
        readonly name: "selector";
        readonly type: "bytes4";
        readonly internalType: "bytes4";
    }];
}];

declare const LegacyEthRegistrarController: readonly [{
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [];
    readonly name: "withdraw";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "_prices";
        readonly type: "address";
    }];
    readonly name: "setPriceOracle";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "_minCommitmentAge";
        readonly type: "uint256";
    }, {
        readonly name: "_maxCommitmentAge";
        readonly type: "uint256";
    }];
    readonly name: "setCommitmentAges";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "commitments";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly name: "secret";
        readonly type: "bytes32";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly payable: true;
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "MIN_REGISTRATION_DURATION";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "minCommitmentAge";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "isOwner";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "valid";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly payable: true;
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "maxCommitmentAge";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commit";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly name: "secret";
        readonly type: "bytes32";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly payable: false;
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "_base";
        readonly type: "address";
    }, {
        readonly name: "_prices";
        readonly type: "address";
    }, {
        readonly name: "_minCommitmentAge";
        readonly type: "uint256";
    }, {
        readonly name: "_maxCommitmentAge";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly name: "oracle";
        readonly type: "address";
    }];
    readonly name: "NewPriceOracle";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}];

declare const NameWrapper: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "_ens";
        readonly type: "address";
    }, {
        readonly internalType: "contract IBaseRegistrar";
        readonly name: "_registrar";
        readonly type: "address";
    }, {
        readonly internalType: "contract IMetadataService";
        readonly name: "_metadataService";
        readonly type: "address";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [];
    readonly name: "CannotUpgrade";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "IncompatibleParent";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "IncorrectTargetOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "IncorrectTokenType";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "labelHash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "expectedLabelhash";
        readonly type: "bytes32";
    }];
    readonly name: "LabelMismatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "LabelTooLong";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "LabelTooShort";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NameIsNotWrapped";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "offset";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "length";
        readonly type: "uint256";
    }];
    readonly name: "OffsetOutOfBoundsError";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "OperationProhibited";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "addr";
        readonly type: "address";
    }];
    readonly name: "Unauthorised";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "approved";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Approval";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "active";
        readonly type: "bool";
    }];
    readonly name: "ControllerChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "ExpiryExtended";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }];
    readonly name: "FusesSet";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "NameUnwrapped";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "NameWrapped";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256[]";
        readonly name: "ids";
        readonly type: "uint256[]";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256[]";
        readonly name: "values";
        readonly type: "uint256[]";
    }];
    readonly name: "TransferBatch";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "value";
        readonly type: "uint256";
    }];
    readonly name: "TransferSingle";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "value";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "URI";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly name: "_tokens";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint32";
        readonly name: "fuseMask";
        readonly type: "uint32";
    }];
    readonly name: "allFusesBurned";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "approve";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "balanceOf";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address[]";
        readonly name: "accounts";
        readonly type: "address[]";
    }, {
        readonly internalType: "uint256[]";
        readonly name: "ids";
        readonly type: "uint256[]";
    }];
    readonly name: "balanceOfBatch";
    readonly outputs: readonly [{
        readonly internalType: "uint256[]";
        readonly name: "";
        readonly type: "uint256[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "addr";
        readonly type: "address";
    }];
    readonly name: "canExtendSubnames";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "addr";
        readonly type: "address";
    }];
    readonly name: "canModifyName";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "controllers";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "ens";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "extendExpiry";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "getApproved";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "getData";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }];
    readonly name: "isWrapped";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "isWrapped";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "metadataService";
    readonly outputs: readonly [{
        readonly internalType: "contract IMetadataService";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "names";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "onERC721Received";
    readonly outputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "";
        readonly type: "bytes4";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "ownerOf";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_token";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly name: "recoverFunds";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "wrappedOwner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "registerAndWrapETH2LD";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "registrarExpiry";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "registrar";
    readonly outputs: readonly [{
        readonly internalType: "contract IBaseRegistrar";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256[]";
        readonly name: "ids";
        readonly type: "uint256[]";
    }, {
        readonly internalType: "uint256[]";
        readonly name: "amounts";
        readonly type: "uint256[]";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "safeBatchTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "amount";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "setChildFuses";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "active";
        readonly type: "bool";
    }];
    readonly name: "setController";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "setFuses";
    readonly outputs: readonly [{
        readonly internalType: "uint32";
        readonly name: "";
        readonly type: "uint32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IMetadataService";
        readonly name: "_metadataService";
        readonly type: "address";
    }];
    readonly name: "setMetadataService";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "setRecord";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "setResolver";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "setSubnodeOwner";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }, {
        readonly internalType: "uint32";
        readonly name: "fuses";
        readonly type: "uint32";
    }, {
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly name: "setSubnodeRecord";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "setTTL";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract INameWrapperUpgrade";
        readonly name: "_upgradeAddress";
        readonly type: "address";
    }];
    readonly name: "setUpgradeContract";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceId";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "parentNode";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "unwrap";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "registrant";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "unwrapETH2LD";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "upgrade";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "upgradeContract";
    readonly outputs: readonly [{
        readonly internalType: "contract INameWrapperUpgrade";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "uri";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "address";
        readonly name: "wrappedOwner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "wrap";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "wrappedOwner";
        readonly type: "address";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "wrapETH2LD";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "expiry";
        readonly type: "uint64";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];

declare const Registry: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "_old";
        readonly type: "address";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "NewOwner";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "NewResolver";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "NewTTL";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "Transfer";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "old";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "recordExists";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "resolver";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "setOwner";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "setRecord";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "setResolver";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "setSubnodeOwner";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "setSubnodeRecord";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "setTTL";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "ttl";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}];

declare const WrappedEthRegistrarController: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "contract BaseRegistrarImplementation";
        readonly name: "_base";
        readonly type: "address";
    }, {
        readonly internalType: "contract IPriceOracle";
        readonly name: "_prices";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_minCommitmentAge";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "_maxCommitmentAge";
        readonly type: "uint256";
    }, {
        readonly internalType: "contract ReverseRegistrar";
        readonly name: "_reverseRegistrar";
        readonly type: "address";
    }, {
        readonly internalType: "contract INameWrapper";
        readonly name: "_nameWrapper";
        readonly type: "address";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "constructor";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentTooNew";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentTooOld";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "DurationTooShort";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InsufficientValue";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "MaxCommitmentAgeTooHigh";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "MaxCommitmentAgeTooLow";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "NameNotAvailable";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ResolverRequiredWhenDataSupplied";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "UnexpiredCommitmentExists";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "baseCost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_REGISTRATION_DURATION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "commitments";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "maxCommitmentAge";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "minCommitmentAge";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "nameWrapper";
    readonly outputs: readonly [{
        readonly internalType: "contract INameWrapper";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "prices";
    readonly outputs: readonly [{
        readonly internalType: "contract IPriceOracle";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_token";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly name: "recoverFunds";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "uint256";
            readonly name: "base";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "premium";
            readonly type: "uint256";
        }];
        readonly internalType: "struct IPriceOracle.Price";
        readonly name: "price";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "reverseRegistrar";
    readonly outputs: readonly [{
        readonly internalType: "contract ReverseRegistrar";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "valid";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "withdraw";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];

declare const StandaloneReverseRegistrar: readonly [{
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "addr";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "NameForAddrChanged";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "addr";
        readonly type: "address";
    }];
    readonly name: "nameForAddr";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}];

declare const UniversalResolverABI: readonly [{
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "dns";
        readonly type: "bytes";
    }];
    readonly name: "DNSDecodingFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "ens";
        readonly type: "string";
    }];
    readonly name: "DNSEncodingFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "EmptyAddress";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint16";
        readonly name: "status";
        readonly type: "uint16";
    }, {
        readonly internalType: "string";
        readonly name: "message";
        readonly type: "string";
    }];
    readonly name: "HttpError";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidBatchGatewayResponse";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }, {
        readonly internalType: "string[]";
        readonly name: "urls";
        readonly type: "string[]";
    }, {
        readonly internalType: "bytes";
        readonly name: "callData";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes4";
        readonly name: "callbackFunction";
        readonly type: "bytes4";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "OffchainLookup";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "offset";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "length";
        readonly type: "uint256";
    }];
    readonly name: "OffsetOutOfBoundsError";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "errorData";
        readonly type: "bytes";
    }];
    readonly name: "ResolverError";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "ResolverNotContract";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }];
    readonly name: "ResolverNotFound";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "primary";
        readonly type: "string";
    }, {
        readonly internalType: "bytes";
        readonly name: "primaryAddress";
        readonly type: "bytes";
    }];
    readonly name: "ReverseAddressMismatch";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "selector";
        readonly type: "bytes4";
    }];
    readonly name: "UnsupportedResolverProfile";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "batchGatewayProvider";
    readonly outputs: readonly [{
        readonly internalType: "contract IGatewayProvider";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "target";
                readonly type: "address";
            }, {
                readonly internalType: "bytes";
                readonly name: "call";
                readonly type: "bytes";
            }, {
                readonly internalType: "bytes";
                readonly name: "data";
                readonly type: "bytes";
            }, {
                readonly internalType: "uint256";
                readonly name: "flags";
                readonly type: "uint256";
            }];
            readonly internalType: "struct CCIPBatcher.Lookup[]";
            readonly name: "lookups";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "string[]";
            readonly name: "gateways";
            readonly type: "string[]";
        }];
        readonly internalType: "struct CCIPBatcher.Batch";
        readonly name: "batch";
        readonly type: "tuple";
    }];
    readonly name: "ccipBatch";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "target";
                readonly type: "address";
            }, {
                readonly internalType: "bytes";
                readonly name: "call";
                readonly type: "bytes";
            }, {
                readonly internalType: "bytes";
                readonly name: "data";
                readonly type: "bytes";
            }, {
                readonly internalType: "uint256";
                readonly name: "flags";
                readonly type: "uint256";
            }];
            readonly internalType: "struct CCIPBatcher.Lookup[]";
            readonly name: "lookups";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "string[]";
            readonly name: "gateways";
            readonly type: "string[]";
        }];
        readonly internalType: "struct CCIPBatcher.Batch";
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "ccipBatchCallback";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly components: readonly [{
                readonly internalType: "address";
                readonly name: "target";
                readonly type: "address";
            }, {
                readonly internalType: "bytes";
                readonly name: "call";
                readonly type: "bytes";
            }, {
                readonly internalType: "bytes";
                readonly name: "data";
                readonly type: "bytes";
            }, {
                readonly internalType: "uint256";
                readonly name: "flags";
                readonly type: "uint256";
            }];
            readonly internalType: "struct CCIPBatcher.Lookup[]";
            readonly name: "lookups";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "string[]";
            readonly name: "gateways";
            readonly type: "string[]";
        }];
        readonly internalType: "struct CCIPBatcher.Batch";
        readonly name: "batch";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "ccipReadCallback";
    readonly outputs: readonly [];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }];
    readonly name: "findResolver";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "registry";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }];
    readonly name: "requireResolver";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bytes";
            readonly name: "name";
            readonly type: "bytes";
        }, {
            readonly internalType: "uint256";
            readonly name: "offset";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "node";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "extended";
            readonly type: "bool";
        }];
        readonly internalType: "struct AbstractUniversalResolver.ResolverInfo";
        readonly name: "info";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "resolve";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "resolveBatchCallback";
    readonly outputs: readonly [];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "resolveCallback";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "resolveDirectCallback";
    readonly outputs: readonly [];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly name: "resolveDirectCallbackError";
    readonly outputs: readonly [];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }, {
        readonly internalType: "string[]";
        readonly name: "gateways";
        readonly type: "string[]";
    }];
    readonly name: "resolveWithGateways";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "result";
        readonly type: "bytes";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }, {
        readonly internalType: "string[]";
        readonly name: "gateways";
        readonly type: "string[]";
    }];
    readonly name: "resolveWithResolver";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "lookupAddress";
        readonly type: "bytes";
    }, {
        readonly internalType: "uint256";
        readonly name: "coinType";
        readonly type: "uint256";
    }];
    readonly name: "reverse";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "reverseAddressCallback";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "primary";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "reverseResolver";
        readonly type: "address";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "response";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "extraData";
        readonly type: "bytes";
    }];
    readonly name: "reverseNameCallback";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "primary";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "lookupAddress";
        readonly type: "bytes";
    }, {
        readonly internalType: "uint256";
        readonly name: "coinType";
        readonly type: "uint256";
    }, {
        readonly internalType: "string[]";
        readonly name: "gateways";
        readonly type: "string[]";
    }];
    readonly name: "reverseWithGateways";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "primary";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "reverseResolver";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceId";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly type: "function";
    readonly name: "multicall";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }];
    readonly outputs: readonly [{
        readonly internalType: "bytes[]";
        readonly name: "";
        readonly type: "bytes[]";
    }];
}];

/**
 * Minimal ABI for EIP-1967 upgradeable proxies.
 *
 * Captures only the `Upgraded(address indexed implementation)` event, emitted by transparent/UUPS
 * proxies whenever their implementation slot changes.
 *
 * @see https://eips.ethereum.org/EIPS/eip-1967
 */
declare const UpgradeableProxy: readonly [{
    readonly type: "event";
    readonly name: "Upgraded";
    readonly inputs: readonly [{
        readonly name: "implementation";
        readonly type: "address";
        readonly indexed: true;
        readonly internalType: "address";
    }];
    readonly anonymous: false;
}];

declare const ThreeDNSToken: readonly [{
    readonly type: "event";
    readonly name: "NewOwner";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
        readonly indexed: true;
    }, {
        readonly type: "bytes32";
        readonly name: "label";
        readonly indexed: true;
    }, {
        readonly type: "address";
        readonly name: "owner";
        readonly indexed: false;
    }];
}, {
    readonly type: "event";
    readonly name: "RegistrationCreated";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
        readonly indexed: true;
    }, {
        readonly type: "bytes32";
        readonly name: "tld";
        readonly indexed: true;
    }, {
        readonly type: "bytes";
        readonly name: "fqdn";
        readonly indexed: false;
    }, {
        readonly type: "address";
        readonly name: "registrant";
        readonly indexed: false;
    }, {
        readonly type: "uint32";
        readonly name: "controlBitmap";
        readonly indexed: false;
    }, {
        readonly type: "uint64";
        readonly name: "expiry";
        readonly indexed: false;
    }];
}, {
    readonly type: "event";
    readonly name: "RegistrationExtended";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
        readonly indexed: true;
    }, {
        readonly type: "uint64";
        readonly name: "duration";
        readonly indexed: true;
    }, {
        readonly type: "uint64";
        readonly name: "newExpiry";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "RegistrationTransferred";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
        readonly indexed: true;
    }, {
        readonly type: "address";
        readonly name: "newOwner";
        readonly indexed: true;
    }, {
        readonly type: "address";
        readonly name: "operator";
        readonly indexed: true;
    }];
}, {
    readonly type: "event";
    readonly name: "RegistrationBurned";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
        readonly indexed: true;
    }, {
        readonly type: "address";
        readonly name: "burner";
        readonly indexed: true;
    }];
}, {
    readonly type: "function";
    readonly name: "uri";
    readonly inputs: readonly [{
        readonly type: "uint256";
        readonly name: "tokenId_";
    }];
    readonly outputs: readonly [{
        readonly type: "string";
        readonly name: "";
    }];
    readonly stateMutability: "view";
}, {
    readonly type: "function";
    readonly name: "resolver";
    readonly inputs: readonly [{
        readonly type: "bytes32";
        readonly name: "node";
    }];
    readonly outputs: readonly [{
        readonly type: "address";
        readonly name: "";
    }];
    readonly stateMutability: "view";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "Transfer";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "value";
        readonly type: "uint256";
    }];
    readonly name: "TransferSingle";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256[]";
        readonly name: "ids";
        readonly type: "uint256[]";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256[]";
        readonly name: "values";
        readonly type: "uint256[]";
    }];
    readonly name: "TransferBatch";
    readonly type: "event";
}];

/**
 * ENSNamespaceIds encodes the set of identifiers for well-known ENS namespaces.
 *
 * Each ENS namespace is a single, unified set of ENS names with a distinct onchain root
 * Registry (the ensroot Datasource) and the capability of spanning from that root Registry across
 * other `Datasource`s that may be distributed across multiple chains and offchain resources.
 *
 * For example, as of 9-Feb-2025 the canonical ENS namespace on mainnet includes:
 * - A root Registry on mainnet.
 * - An onchain Registrar for direct subnames of 'eth' on mainnet.
 * - An onchain Registry and Registrar for direct subnames of 'base.eth' on Base.
 * - An onchain Registry and Registrar subregistry for direct subnames of 'linea.eth' on Linea.
 * - An offchain subregistry for subnames of '.cb.id'.
 * - An offchain subregistry for subnames of '.uni.eth'.
 * - Etc..
 *
 * Each ENS namespace is logically independent of & isolated from the others, and not exclusively
 * correlated with a specific L1 chain. For example, the Sepolia testnet ENS namepace
 * is independent of the canonical ENS namespace on mainnet, and there could be an additional
 * deployment of the ENS protocol to mainnet, configured with different Datasources, resulting in a
 * logically isolated set of ENS names.
 *
 * 'ens-test-env' represents an ENS namespace running on a local Anvil chain for testing
 * protocol changes, running deterministic test suites, and local development.
 * https://github.com/ensdomains/ens-test-env
 */
declare const ENSNamespaceIds: {
    readonly Mainnet: "mainnet";
    readonly Sepolia: "sepolia";
    readonly SepoliaV2: "sepolia-v2";
    readonly EnsTestEnv: "ens-test-env";
};
/**
 * ENSNamespaceId is the derived string union of possible ENS namespace identifiers.
 */
type ENSNamespaceId = (typeof ENSNamespaceIds)[keyof typeof ENSNamespaceIds];
/**
 * A Datasource describes a set of contracts on a given chain that interact with the ENS protocol.
 */
interface Datasource {
    chain: Chain;
    contracts: Record<string, ContractConfig>;
}
/**
 * DatasourceNames encodes a unique id for each known Datasource.
 */
declare const DatasourceNames: {
    readonly ENSRoot: "ensroot";
    readonly Basenames: "basenames";
    readonly Lineanames: "lineanames";
    readonly Seaport: "seaport";
    readonly ThreeDNSOptimism: "threednsOptimism";
    readonly ThreeDNSBase: "threednsBase";
    readonly ReverseResolverRoot: "rrRoot";
    readonly ReverseResolverBase: "rrBase";
    readonly ReverseResolverLinea: "rrLinea";
    readonly ReverseResolverOptimism: "rrOptimism";
    readonly ReverseResolverArbitrum: "rrArbitrum";
    readonly ReverseResolverScroll: "rrScroll";
    readonly ENSv2Root: "ENSv2Root";
};
type DatasourceName = (typeof DatasourceNames)[keyof typeof DatasourceNames];
/**
 * EventFilter specifies a given event's name and arguments to filter that event by.
 * This type is intentionally a subset of Ponder's `ContractConfig['filter']`.
 */
interface EventFilter {
    event: string;
    args: Record<string, unknown>;
}
/**
 * Defines the abi, address, and startBlock of a contract relevant to a Datasource.
 *
 * A contract is located onchain either by
 *  1. a single Address in `address`,
 *  2. a set of Address[] in `address`,
 *  3. or any contract that emits events as defined in `abi`.
 *
 * This type is intentionally a subset of Ponder's ContractConfig.
 *
 * @param abi - the ABI of the contract
 * @param address - (optional) Address of the contract or Address[] of each contract to be indexed
 * @param startBlock - block number the contract was deployed in
 */
type ContractConfig = {
    readonly abi: Abi;
    readonly address?: Address | Address[];
    readonly startBlock: number;
    readonly endBlock?: number;
};
/**
 * ENSNamespace encodes a set of known Datasources associated with the same ENS namespace.
 *
 * The ENSRoot Datasource is required (this formally defines an ENS namespace). All other Datasources
 * within the ENSNamespace are optional.
 */
type ENSNamespace = {
    [DatasourceNames.ENSRoot]: Datasource;
} & Partial<Record<Exclude<DatasourceName, "ensroot">, Datasource>>;
/**
 * Helper type to extract the datasource type for a specific datasource name across all namespaces.
 * Returns the union of all possible datasource types for that datasource name, or never if not found.
 */
type ExtractDatasourceType<Namespaces extends ENSNamespace, D extends DatasourceName> = Namespaces extends any ? (D extends keyof Namespaces ? Namespaces[D] : never) : never;

/** A query for {@link identifyDatasourceContracts}: an address, optionally scoped to one chain. */
interface DatasourceIdentifyQuery {
    /** When set, only consider Datasources deployed on this chain. */
    chainId?: ChainId;
    address: NormalizedAddress;
}
/** A well-known Datasource contract matched by {@link identifyDatasourceContracts}. */
interface DatasourceContractMatch {
    namespace: ENSNamespaceId;
    datasource: DatasourceName;
    contract: string;
    chainId: ChainId;
    address: NormalizedAddress;
}
/**
 * Finds every well-known contract in `namespaceId`'s Datasources whose address equals
 * `query.address`, optionally restricted to `query.chainId`.
 *
 * Contracts without a fixed address (matched onchain by event only) are skipped — they have no
 * address to identify. A single address may match multiple contracts, so all matches are returned.
 *
 * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
 * @param query - The address to identify, optionally scoped to a chain
 */
declare const identifyDatasourceContracts: (namespaceId: ENSNamespaceId, query: DatasourceIdentifyQuery) => DatasourceContractMatch[];

declare const AnyRegistrarABI: readonly [{
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "approved";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Approval";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "ControllerAdded";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "ControllerRemoved";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameMigrated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Transfer";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "GRACE_PERIOD";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "addController";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "approve";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "balanceOf";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "baseNode";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "controllers";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "ens";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "getApproved";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "nameExpires";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "ownerOf";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "reclaim";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "register";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "registerOnly";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "removeController";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }];
    readonly name: "setResolver";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "symbol";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "tokenURI";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "transferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "AccountBalanceOverflow";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "AlreadyInitialized";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "BalanceQueryForZeroAddress";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "Expired";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NewOwnerIsZeroAddress";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NoHandoverRequest";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "NonexistentToken";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }];
    readonly name: "NotApprovedOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "NotAvailable";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotOwnerNorApproved";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "tokenId";
        readonly type: "uint256";
    }];
    readonly name: "NotRegisteredOrInGrace";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "OnlyController";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "RegistrarNotLive";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TokenAlreadyExists";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TokenDoesNotExist";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TransferFromIncorrectOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TransferToNonERC721ReceiverImplementer";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TransferToZeroAddress";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "Unauthorized";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "Approval";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isApproved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_fromTokenId";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "_toTokenId";
        readonly type: "uint256";
    }];
    readonly name: "BatchMetadataUpdate";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [];
    readonly name: "ContractURIUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "NameRegisteredWithRecord";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipHandoverCanceled";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipHandoverRequested";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "oldOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "approve";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "balanceOf";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "result";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "cancelOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "completeOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "contractURI";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "controller";
        readonly type: "address";
    }];
    readonly name: "controllers";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "isApproved";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "getApproved";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "result";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "result";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "isAvailable";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "nameExpires";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "expiry";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "result";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "ownershipHandoverExpiresAt";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "result";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "uint64";
        readonly name: "ttl";
        readonly type: "uint64";
    }];
    readonly name: "registerWithRecord";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "registry";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "requestOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "safeTransferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "isApproved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "baseURI_";
        readonly type: "string";
    }];
    readonly name: "setBaseTokenURI";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "collectionURI_";
        readonly type: "string";
    }];
    readonly name: "setContractURI";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "symbol";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "from";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "id";
        readonly type: "uint256";
    }];
    readonly name: "transferFrom";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}];

declare const AnyRegistrarControllerABI: readonly [{
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [];
    readonly name: "withdraw";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "_prices";
        readonly type: "address";
    }];
    readonly name: "setPriceOracle";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "_minCommitmentAge";
        readonly type: "uint256";
    }, {
        readonly name: "_maxCommitmentAge";
        readonly type: "uint256";
    }];
    readonly name: "setCommitmentAges";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "commitments";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly name: "secret";
        readonly type: "bytes32";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly payable: true;
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "MIN_REGISTRATION_DURATION";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "minCommitmentAge";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "isOwner";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "valid";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly payable: true;
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [];
    readonly name: "maxCommitmentAge";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commit";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly name: "secret";
        readonly type: "bytes32";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly payable: false;
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly name: "oracle";
        readonly type: "address";
    }];
    readonly name: "NewPriceOracle";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentTooNew";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentTooOld";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "DurationTooShort";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InsufficientValue";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "MaxCommitmentAgeTooHigh";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "MaxCommitmentAgeTooLow";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "NameNotAvailable";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ResolverRequiredWhenDataSupplied";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "UnexpiredCommitmentExists";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "baseCost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_REGISTRATION_DURATION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "commit";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "commitments";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "maxCommitmentAge";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "minCommitmentAge";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "nameWrapper";
    readonly outputs: readonly [{
        readonly internalType: "contract INameWrapper";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "prices";
    readonly outputs: readonly [{
        readonly internalType: "contract IPriceOracle";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_token";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "_to";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "_amount";
        readonly type: "uint256";
    }];
    readonly name: "recoverFunds";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "uint256";
            readonly name: "base";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "premium";
            readonly type: "uint256";
        }];
        readonly internalType: "struct IPriceOracle.Price";
        readonly name: "price";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "reverseRegistrar";
    readonly outputs: readonly [{
        readonly internalType: "contract ReverseRegistrar";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "valid";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly name: "CommitmentNotFound";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "minimumCommitmentTimestamp";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "currentTimestamp";
        readonly type: "uint256";
    }];
    readonly name: "CommitmentTooNew";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "maximumCommitmentTimestamp";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "currentTimestamp";
        readonly type: "uint256";
    }];
    readonly name: "CommitmentTooOld";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ResolverRequiredForReverseRecord";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "baseCost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "premium";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "labelhash";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "available";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "defaultReverseRegistrar";
    readonly outputs: readonly [{
        readonly internalType: "contract IDefaultReverseRegistrar";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "ens";
    readonly outputs: readonly [{
        readonly internalType: "contract ENS";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "label";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "secret";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint8";
            readonly name: "reverseRecord";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes32";
            readonly name: "referrer";
            readonly type: "bytes32";
        }];
        readonly internalType: "struct IETHRegistrarController.Registration";
        readonly name: "registration";
        readonly type: "tuple";
    }];
    readonly name: "makeCommitment";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "commitment";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "label";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "secret";
            readonly type: "bytes32";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "uint8";
            readonly name: "reverseRecord";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes32";
            readonly name: "referrer";
            readonly type: "bytes32";
        }];
        readonly internalType: "struct IETHRegistrarController.Registration";
        readonly name: "registration";
        readonly type: "tuple";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "renew";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "rentPrice";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "uint256";
            readonly name: "base";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "premium";
            readonly type: "uint256";
        }];
        readonly internalType: "struct IPriceOracle.Price";
        readonly name: "price";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "reverseRegistrar";
    readonly outputs: readonly [{
        readonly internalType: "contract IReverseRegistrar";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }];
    readonly name: "valid";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "label";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "labelHash";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "cost";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "referrer";
        readonly type: "bytes32";
    }];
    readonly name: "RenewalReferred";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "target";
        readonly type: "address";
    }];
    readonly name: "AddressEmptyCode";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "AddressInsufficientBalance";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "AlreadyInitialized";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }];
    readonly name: "AlreadyRegisteredWithDiscount";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "FailedInnerCall";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly name: "InactiveDiscount";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "InvalidDiscount";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly name: "InvalidDiscountAmount";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidPaymentReceiver";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "validator";
        readonly type: "address";
    }];
    readonly name: "InvalidValidator";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NewOwnerIsZeroAddress";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NoHandoverRequest";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "token";
        readonly type: "address";
    }];
    readonly name: "SafeERC20FailedOperation";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "TransferFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "Unauthorized";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "registrant";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }];
    readonly name: "DiscountApplied";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct EARegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "DiscountUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "payee";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "price";
        readonly type: "uint256";
    }];
    readonly name: "ETHPaymentProcessed";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipHandoverCanceled";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipHandoverRequested";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "oldOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferred";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newPaymentReceiver";
        readonly type: "address";
    }];
    readonly name: "PaymentReceiverUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newPrices";
        readonly type: "address";
    }];
    readonly name: "PriceOracleUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newReverseRegistrar";
        readonly type: "address";
    }];
    readonly name: "ReverseRegistrarUpdated";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "MIN_NAME_LENGTH";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "cancelOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "completeOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "bool";
            readonly name: "reverseRecord";
            readonly type: "bool";
        }];
        readonly internalType: "struct EARegistrarController.RegisterRequest";
        readonly name: "request";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "validationData";
        readonly type: "bytes";
    }];
    readonly name: "discountedRegister";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }];
    readonly name: "discountedRegisterPrice";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "price";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "registrant";
        readonly type: "address";
    }];
    readonly name: "discountedRegistrants";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "hasRegisteredWithDiscount";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly name: "discounts";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "active";
        readonly type: "bool";
    }, {
        readonly internalType: "address";
        readonly name: "discountValidator";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "key";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "discount";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getActiveDiscounts";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct EARegistrarController.DiscountDetails[]";
        readonly name: "";
        readonly type: "tuple[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address[]";
        readonly name: "addresses";
        readonly type: "address[]";
    }];
    readonly name: "hasRegisteredWithDiscount";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "owner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "result";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "pendingOwner";
        readonly type: "address";
    }];
    readonly name: "ownershipHandoverExpiresAt";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "result";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "paymentReceiver";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "registerPrice";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "renounceOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "requestOwnershipHandover";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "rootName";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "rootNode";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct EARegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "setDiscountDetails";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "paymentReceiver_";
        readonly type: "address";
    }];
    readonly name: "setPaymentReceiver";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IPriceOracle";
        readonly name: "prices_";
        readonly type: "address";
    }];
    readonly name: "setPriceOracle";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IReverseRegistrar";
        readonly name: "reverse_";
        readonly type: "address";
    }];
    readonly name: "setReverseRegistrar";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "transferOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "withdrawETH";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct RegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "DiscountUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewed";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "bool";
            readonly name: "reverseRecord";
            readonly type: "bool";
        }];
        readonly internalType: "struct RegistrarController.RegisterRequest";
        readonly name: "request";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "validationData";
        readonly type: "bytes";
    }];
    readonly name: "discountedRegister";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getActiveDiscounts";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct RegistrarController.DiscountDetails[]";
        readonly name: "";
        readonly type: "tuple[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "launchTime";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "bool";
            readonly name: "reverseRecord";
            readonly type: "bool";
        }];
        readonly internalType: "struct RegistrarController.RegisterRequest";
        readonly name: "request";
        readonly type: "tuple";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct RegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "setDiscountDetails";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "launchTime_";
        readonly type: "uint256";
    }];
    readonly name: "setLaunchTime";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "InvalidInitialization";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "NameNotValid";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "NotInitializing";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "OwnableInvalidOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }];
    readonly name: "OwnableUnauthorizedAccount";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ZeroAddress";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly indexed: false;
        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "DiscountUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "version";
        readonly type: "uint64";
    }];
    readonly name: "Initialized";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "newL2ReverseRegistrar";
        readonly type: "address";
    }];
    readonly name: "L2ReverseRegistrarUpdated";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "previousOwner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "newOwner";
        readonly type: "address";
    }];
    readonly name: "OwnershipTransferStarted";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "acceptOwnership";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "bool";
            readonly name: "reverseRecord";
            readonly type: "bool";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "coinTypes";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "signatureExpiry";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }];
        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
        readonly name: "request";
        readonly type: "tuple";
    }, {
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "validationData";
        readonly type: "bytes";
    }];
    readonly name: "discountedRegister";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "discountKey";
        readonly type: "bytes32";
    }];
    readonly name: "discounts";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getActiveDiscounts";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails[]";
        readonly name: "";
        readonly type: "tuple[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "contract IBaseRegistrar";
        readonly name: "base_";
        readonly type: "address";
    }, {
        readonly internalType: "contract IPriceOracle";
        readonly name: "prices_";
        readonly type: "address";
    }, {
        readonly internalType: "contract IReverseRegistrar";
        readonly name: "reverseRegistrar_";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "owner_";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "rootNode_";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "rootName_";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "paymentReceiver_";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "legacyRegistrarController_";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "legacyL2Resolver_";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "l2ReverseRegistrar_";
        readonly type: "address";
    }];
    readonly name: "initialize";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pendingOwner";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "string";
            readonly name: "name";
            readonly type: "string";
        }, {
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "resolver";
            readonly type: "address";
        }, {
            readonly internalType: "bytes[]";
            readonly name: "data";
            readonly type: "bytes[]";
        }, {
            readonly internalType: "bool";
            readonly name: "reverseRecord";
            readonly type: "bool";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "coinTypes";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "signatureExpiry";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }];
        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
        readonly name: "request";
        readonly type: "tuple";
    }];
    readonly name: "register";
    readonly outputs: readonly [];
    readonly stateMutability: "payable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly internalType: "bool";
            readonly name: "active";
            readonly type: "bool";
        }, {
            readonly internalType: "address";
            readonly name: "discountValidator";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "key";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "discount";
            readonly type: "uint256";
        }];
        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
        readonly name: "details";
        readonly type: "tuple";
    }];
    readonly name: "setDiscountDetails";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "l2ReverseRegistrar_";
        readonly type: "address";
    }];
    readonly name: "setL2ReverseRegistrar";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "uint256";
        readonly name: "signatureExpiry";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256[]";
        readonly name: "coinTypes";
        readonly type: "uint256[]";
    }, {
        readonly internalType: "bytes";
        readonly name: "signature";
        readonly type: "bytes";
    }];
    readonly name: "setReverseRecord";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "BaseNodeAsETHNodeOrROOTNodeNotAllowed";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "DifferentBaseDomainBaseNode";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "EmptyStringNotAllowed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "OwnerAlreadyRegistered";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }];
    readonly name: "PohVerificationFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "currentTime";
        readonly type: "uint256";
    }, {
        readonly internalType: "uint256";
        readonly name: "renewTimeStart";
        readonly type: "uint256";
    }];
    readonly name: "RenewPOHNotStarted";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "sender";
        readonly type: "address";
    }];
    readonly name: "SenderNotOwner";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }];
    readonly name: "WrongPohRegistrationDuration";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "ZeroAddressNotAllowed";
    readonly type: "error";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "NameRenewedPoh";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "OwnerNameRegistered";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "label";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "expires";
        readonly type: "uint256";
    }];
    readonly name: "PohNameRegistered";
    readonly type: "event";
}, {
    readonly inputs: readonly [];
    readonly name: "GRACE_PERIOD";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "POH_REGISTRATION_DURATION";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "baseDomain";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "baseNode";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }];
    readonly name: "ownerRegister";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pohRegistrationManager";
    readonly outputs: readonly [{
        readonly internalType: "contract PohRegistrationManager";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "pohVerifier";
    readonly outputs: readonly [{
        readonly internalType: "contract PohVerifier";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "_address";
        readonly type: "address";
    }];
    readonly name: "redeemed";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "uint256";
        readonly name: "duration";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes32";
        readonly name: "secret";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "resolver";
        readonly type: "address";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }, {
        readonly internalType: "bool";
        readonly name: "reverseRecord";
        readonly type: "bool";
    }, {
        readonly internalType: "uint16";
        readonly name: "ownerControlledFuses";
        readonly type: "uint16";
    }, {
        readonly internalType: "bytes";
        readonly name: "signature";
        readonly type: "bytes";
    }];
    readonly name: "registerPoh";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly internalType: "bytes";
        readonly name: "signature";
        readonly type: "bytes";
    }];
    readonly name: "renewPoh";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}];

/**
 * NOTE: devnet uses anvil's default chain id of 31337, but we over-specify it here for documentation
 * @see https://github.com/ensdomains/contracts-v2/blob/580c60a20e80decce21cf15aafd762f96a96d544/contracts/script/setup.ts#L55
 */
declare const ensTestEnvChain: {
    readonly id: 31337;
    readonly name: "ens-test-env";
    readonly blockExplorers?: {
        [key: string]: {
            name: string;
            url: string;
            apiUrl?: string | undefined;
        };
        default: {
            name: string;
            url: string;
            apiUrl?: string | undefined;
        };
    } | undefined | undefined;
    readonly blockTime?: number | undefined | undefined;
    readonly contracts?: {
        [x: string]: viem.ChainContract | {
            [sourceId: number]: viem.ChainContract | undefined;
        } | undefined;
        ensRegistry?: viem.ChainContract | undefined;
        ensUniversalResolver?: viem.ChainContract | undefined;
        multicall3?: viem.ChainContract | undefined;
        erc6492Verifier?: viem.ChainContract | undefined;
    } | undefined;
    readonly ensTlds?: readonly string[] | undefined;
    readonly nativeCurrency: {
        readonly decimals: 18;
        readonly name: "Ether";
        readonly symbol: "ETH";
    };
    readonly experimental_preconfirmationTime?: number | undefined | undefined;
    readonly rpcUrls: {
        readonly default: {
            readonly http: readonly ["http://127.0.0.1:8545"];
            readonly webSocket: readonly ["ws://127.0.0.1:8545"];
        };
    };
    readonly sourceId?: number | undefined | undefined;
    readonly testnet?: boolean | undefined | undefined;
    readonly custom?: Record<string, unknown> | undefined;
    readonly extendSchema?: Record<string, unknown> | undefined;
    readonly fees?: viem.ChainFees<undefined> | undefined;
    readonly formatters?: undefined;
    readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
        runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
    }] | undefined;
    readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
    readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
};

/**
 * This Resolver ABI represents the set of all well-known Resolver events/methods, including:
 * - LegacyPublicResolver
 *   - TextChanged event without value
 * - IResolver
 *   - modern Resolver ABI, TextChanged with value
 * - ReverseResolvers
 *   - AbstractReverseResolver
 *
 * A Resolver contract is a contract that emits _any_ (not _all_) of the events specified here and
 * may or may not support any number of the methods available in this ABI.
 */
declare const ResolverABI: readonly [{
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "uint256";
        readonly name: "contentType";
        readonly type: "uint256";
    }];
    readonly name: "ABIChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "a";
        readonly type: "address";
    }];
    readonly name: "AddrChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint256";
        readonly name: "coinType";
        readonly type: "uint256";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "newAddress";
        readonly type: "bytes";
    }];
    readonly name: "AddressChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "target";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "isAuthorised";
        readonly type: "bool";
    }];
    readonly name: "AuthorisationChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "hash";
        readonly type: "bytes";
    }];
    readonly name: "ContenthashChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly indexed: false;
        readonly internalType: "uint16";
        readonly name: "resource";
        readonly type: "uint16";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "record";
        readonly type: "bytes";
    }];
    readonly name: "DNSRecordChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly indexed: false;
        readonly internalType: "uint16";
        readonly name: "resource";
        readonly type: "uint16";
    }];
    readonly name: "DNSRecordDeleted";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "DNSZoneCleared";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }, {
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "implementer";
        readonly type: "address";
    }];
    readonly name: "InterfaceChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "NameChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "x";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes32";
        readonly name: "y";
        readonly type: "bytes32";
    }];
    readonly name: "PubkeyChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "string";
        readonly name: "indexedKey";
        readonly type: "string";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "key";
        readonly type: "string";
    }];
    readonly name: "TextChanged";
    readonly type: "event";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "contentTypes";
        readonly type: "uint256";
    }];
    readonly name: "ABI";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "addr";
    readonly outputs: readonly [{
        readonly internalType: "address payable";
        readonly name: "";
        readonly type: "address";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "coinType";
        readonly type: "uint256";
    }];
    readonly name: "addr";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly name: "authorisations";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "clearDNSZone";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "contenthash";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "name";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint16";
        readonly name: "resource";
        readonly type: "uint16";
    }];
    readonly name: "dnsRecord";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "name";
        readonly type: "bytes32";
    }];
    readonly name: "hasDNSRecords";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "interfaceImplementer";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }];
    readonly name: "multicall";
    readonly outputs: readonly [{
        readonly internalType: "bytes[]";
        readonly name: "results";
        readonly type: "bytes[]";
    }];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "name";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "pubkey";
    readonly outputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "x";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "y";
        readonly type: "bytes32";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "contentType";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "setABI";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "uint256";
        readonly name: "coinType";
        readonly type: "uint256";
    }, {
        readonly internalType: "bytes";
        readonly name: "a";
        readonly type: "bytes";
    }];
    readonly name: "setAddr";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "a";
        readonly type: "address";
    }];
    readonly name: "setAddr";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "target";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "isAuthorised";
        readonly type: "bool";
    }];
    readonly name: "setAuthorisation";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "hash";
        readonly type: "bytes";
    }];
    readonly name: "setContenthash";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "setDNSRecords";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }, {
        readonly internalType: "address";
        readonly name: "implementer";
        readonly type: "address";
    }];
    readonly name: "setInterface";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "name";
        readonly type: "string";
    }];
    readonly name: "setName";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "x";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes32";
        readonly name: "y";
        readonly type: "bytes32";
    }];
    readonly name: "setPubkey";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: false;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "key";
        readonly type: "string";
    }, {
        readonly internalType: "string";
        readonly name: "value";
        readonly type: "string";
    }];
    readonly name: "setText";
    readonly outputs: readonly [];
    readonly payable: false;
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly payable: false;
    readonly stateMutability: "pure";
    readonly type: "function";
}, {
    readonly constant: true;
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "key";
        readonly type: "string";
    }];
    readonly name: "text";
    readonly outputs: readonly [{
        readonly internalType: "string";
        readonly name: "";
        readonly type: "string";
    }];
    readonly payable: false;
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly indexed: false;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "ApprovalForAll";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: false;
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "address";
        readonly name: "delegate";
        readonly type: "address";
    }, {
        readonly indexed: true;
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "Approved";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "lastzonehash";
        readonly type: "bytes";
    }, {
        readonly indexed: false;
        readonly internalType: "bytes";
        readonly name: "zonehash";
        readonly type: "bytes";
    }];
    readonly name: "DNSZonehashChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: true;
        readonly internalType: "string";
        readonly name: "indexedKey";
        readonly type: "string";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "key";
        readonly type: "string";
    }, {
        readonly indexed: false;
        readonly internalType: "string";
        readonly name: "value";
        readonly type: "string";
    }];
    readonly name: "TextChanged";
    readonly type: "event";
}, {
    readonly anonymous: false;
    readonly inputs: readonly [{
        readonly indexed: true;
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly indexed: false;
        readonly internalType: "uint64";
        readonly name: "newVersion";
        readonly type: "uint64";
    }];
    readonly name: "VersionChanged";
    readonly type: "event";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "delegate";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "approve";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "clearRecords";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "address";
        readonly name: "delegate";
        readonly type: "address";
    }];
    readonly name: "isApprovedFor";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }];
    readonly name: "isApprovedForAll";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "nodehash";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes[]";
        readonly name: "data";
        readonly type: "bytes[]";
    }];
    readonly name: "multicallWithNodeCheck";
    readonly outputs: readonly [{
        readonly internalType: "bytes[]";
        readonly name: "results";
        readonly type: "bytes[]";
    }];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "";
        readonly type: "bytes32";
    }];
    readonly name: "recordVersions";
    readonly outputs: readonly [{
        readonly internalType: "uint64";
        readonly name: "";
        readonly type: "uint64";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address";
        readonly name: "operator";
        readonly type: "address";
    }, {
        readonly internalType: "bool";
        readonly name: "approved";
        readonly type: "bool";
    }];
    readonly name: "setApprovalForAll";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "string";
        readonly name: "newName";
        readonly type: "string";
    }];
    readonly name: "setName";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }, {
        readonly internalType: "bytes";
        readonly name: "hash";
        readonly type: "bytes";
    }];
    readonly name: "setZonehash";
    readonly outputs: readonly [];
    readonly stateMutability: "nonpayable";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceID";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes32";
        readonly name: "node";
        readonly type: "bytes32";
    }];
    readonly name: "zonehash";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly type: "event";
    readonly name: "DNSRecordChanged";
    readonly inputs: readonly [{
        readonly name: "node";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "name";
        readonly type: "bytes";
        readonly indexed: false;
        readonly internalType: "bytes";
    }, {
        readonly name: "resource";
        readonly type: "uint16";
        readonly indexed: false;
        readonly internalType: "uint16";
    }, {
        readonly name: "ttl";
        readonly type: "uint32";
        readonly indexed: false;
        readonly internalType: "uint32";
    }, {
        readonly name: "record";
        readonly type: "bytes";
        readonly indexed: false;
        readonly internalType: "bytes";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "DNSZoneUpdated";
    readonly inputs: readonly [{
        readonly name: "node";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "serial";
        readonly type: "uint32";
        readonly indexed: false;
        readonly internalType: "uint32";
    }];
    readonly anonymous: false;
}, {
    readonly type: "event";
    readonly name: "ZoneCreated";
    readonly inputs: readonly [{
        readonly name: "node";
        readonly type: "bytes32";
        readonly indexed: true;
        readonly internalType: "bytes32";
    }, {
        readonly name: "version";
        readonly type: "uint64";
        readonly indexed: true;
        readonly internalType: "uint64";
    }];
    readonly anonymous: false;
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "resolve";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "";
        readonly type: "bytes";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "dns";
        readonly type: "bytes";
    }];
    readonly name: "DNSDecodingFailed";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }];
    readonly name: "UnreachableName";
    readonly type: "error";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "selector";
        readonly type: "bytes4";
    }];
    readonly name: "UnsupportedResolverProfile";
    readonly type: "error";
}, {
    readonly inputs: readonly [];
    readonly name: "chainId";
    readonly outputs: readonly [{
        readonly internalType: "uint32";
        readonly name: "";
        readonly type: "uint32";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "chainRegistrar";
    readonly outputs: readonly [{
        readonly internalType: "address";
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "coinType";
    readonly outputs: readonly [{
        readonly internalType: "uint256";
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "name";
        readonly type: "bytes";
    }, {
        readonly internalType: "bytes";
        readonly name: "data";
        readonly type: "bytes";
    }];
    readonly name: "resolve";
    readonly outputs: readonly [{
        readonly internalType: "bytes";
        readonly name: "result";
        readonly type: "bytes";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "address[]";
        readonly name: "addrs";
        readonly type: "address[]";
    }];
    readonly name: "resolveNames";
    readonly outputs: readonly [{
        readonly internalType: "string[]";
        readonly name: "names";
        readonly type: "string[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly internalType: "bytes4";
        readonly name: "interfaceId";
        readonly type: "bytes4";
    }];
    readonly name: "supportsInterface";
    readonly outputs: readonly [{
        readonly internalType: "bool";
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}];

/**
 * The ens-test-env ENSNamespace
 *
 * 'ens-test-env' represents a deterministic deployment of the ENS protocol to a local Anvil chain
 * for development and testing.
 *
 * @see https://github.com/ensdomains/ens-test-env
 * @see https://github.com/ensdomains/contracts-v2
 *
 * NOTE: The ens-test-env ENS namespace does not support Basenames, Lineanames, or 3DNS.
 * NOTE: The ens-test-env ENS namespace does not (yet) support ENSIP-19 Reverse Resolvers.
 */
declare const _default$3: {
    /**
     * ENSRoot Datasource
     *
     * Addresses and Start Blocks from ENSv2 devnet
     * https://github.com/ensdomains/contracts-v2
     */
    ensroot: {
        chain: {
            readonly id: 31337;
            readonly name: "ens-test-env";
            readonly blockExplorers?: {
                [key: string]: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
                default: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
            } | undefined | undefined;
            readonly blockTime?: number | undefined | undefined;
            readonly contracts?: {
                [x: string]: viem.ChainContract | {
                    [sourceId: number]: viem.ChainContract | undefined;
                } | undefined;
                ensRegistry?: viem.ChainContract | undefined;
                ensUniversalResolver?: viem.ChainContract | undefined;
                multicall3?: viem.ChainContract | undefined;
                erc6492Verifier?: viem.ChainContract | undefined;
            } | undefined;
            readonly ensTlds?: readonly string[] | undefined;
            readonly nativeCurrency: {
                readonly decimals: 18;
                readonly name: "Ether";
                readonly symbol: "ETH";
            };
            readonly experimental_preconfirmationTime?: number | undefined | undefined;
            readonly rpcUrls: {
                readonly default: {
                    readonly http: readonly ["http://127.0.0.1:8545"];
                    readonly webSocket: readonly ["ws://127.0.0.1:8545"];
                };
            };
            readonly sourceId?: number | undefined | undefined;
            readonly testnet?: boolean | undefined | undefined;
            readonly custom?: Record<string, unknown> | undefined;
            readonly extendSchema?: Record<string, unknown> | undefined;
            readonly fees?: viem.ChainFees<undefined> | undefined;
            readonly formatters?: undefined;
            readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ENSv1RegistryOld: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0";
                startBlock: number;
            };
            ENSv1Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x8a791620dd6260079bf849dc5567adc3f2fdc318";
                startBlock: number;
            };
            LegacyEthRegistrarController: {
                abi: readonly [{
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_prices";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly name: "setCommitmentAges";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "isOwner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "NewPriceOracle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }];
                address: "0x46b142dd1e924fab83ecc3c08e4d46e82f005e0e";
                startBlock: number;
            };
            WrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract INameWrapper";
                        readonly name: "_nameWrapper";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "nameWrapper";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapper";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x253553366da8546fc250f225fe3d25d0c782303b";
                startBlock: number;
            };
            UnwrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "_defaultReverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredForReverseRecord";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "defaultReverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x367761085bf3c12e5da2df99ac6e1a824612b8fb";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapETH2LD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x5081a39b8a5f0e35a8d959395a630b68b74dd30f";
                startBlock: number;
            };
            UniversalResolver: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "ens";
                        readonly type: "string";
                    }];
                    readonly name: "DNSEncodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint16";
                        readonly name: "status";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "string";
                        readonly name: "message";
                        readonly type: "string";
                    }];
                    readonly name: "HttpError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBatchGatewayResponse";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "urls";
                        readonly type: "string[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "callData";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "callbackFunction";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "OffchainLookup";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "errorData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "ResolverNotContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "primaryAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "ReverseAddressMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "batchGatewayProvider";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IGatewayProvider";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly name: "ccipBatch";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipBatchCallback";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipReadCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "findResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "requireResolver";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bytes";
                            readonly name: "name";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offset";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "node";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "extended";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct AbstractUniversalResolver.ResolverInfo";
                        readonly name: "info";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveBatchCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallbackError";
                    readonly outputs: readonly [];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "reverse";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseAddressCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseNameCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "reverseWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "function";
                    readonly name: "multicall";
                    readonly stateMutability: "view";
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "";
                        readonly type: "bytes[]";
                    }];
                }];
                address: "0x202cce504e04bed6fc0521238ddf04bc9e8e15ab";
                startBlock: number;
            };
        };
    };
    ENSv2Root: {
        chain: {
            readonly id: 31337;
            readonly name: "ens-test-env";
            readonly blockExplorers?: {
                [key: string]: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
                default: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
            } | undefined | undefined;
            readonly blockTime?: number | undefined | undefined;
            readonly contracts?: {
                [x: string]: viem.ChainContract | {
                    [sourceId: number]: viem.ChainContract | undefined;
                } | undefined;
                ensRegistry?: viem.ChainContract | undefined;
                ensUniversalResolver?: viem.ChainContract | undefined;
                multicall3?: viem.ChainContract | undefined;
                erc6492Verifier?: viem.ChainContract | undefined;
            } | undefined;
            readonly ensTlds?: readonly string[] | undefined;
            readonly nativeCurrency: {
                readonly decimals: 18;
                readonly name: "Ether";
                readonly symbol: "ETH";
            };
            readonly experimental_preconfirmationTime?: number | undefined | undefined;
            readonly rpcUrls: {
                readonly default: {
                    readonly http: readonly ["http://127.0.0.1:8545"];
                    readonly webSocket: readonly ["ws://127.0.0.1:8545"];
                };
            };
            readonly sourceId?: number | undefined | undefined;
            readonly testnet?: boolean | undefined | undefined;
            readonly custom?: Record<string, unknown> | undefined;
            readonly extendSchema?: Record<string, unknown> | undefined;
            readonly fees?: viem.ChainFees<undefined> | undefined;
            readonly formatters?: undefined;
            readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            Registry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                startBlock: number;
            };
            EnhancedAccessControl: {
                abi: readonly [{
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                startBlock: number;
            };
            RootRegistry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                address: "0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6";
                startBlock: number;
            };
            ETHRegistry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                address: "0x8f86403a4de0bb5791fa46b8e795c547942fe4cf";
                startBlock: number;
            };
            ETHRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IHCAFactoryBasic";
                        readonly name: "hcaFactory";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPermissionedRegistry";
                        readonly name: "ethRegistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "beneficiary";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "gracePeriod";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minCommitmentAge";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "maxCommitmentAge";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minRegisterDuration";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "validFrom";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "blockTimestamp";
                        readonly type: "uint64";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "validTo";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "blockTimestamp";
                        readonly type: "uint64";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minDuration";
                        readonly type: "uint64";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotRenewable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableInvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableUnauthorizedAccount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentMade";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "RentPriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BENEFICIARY";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ETH_REGISTRY";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPermissionedRegistry";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "HCA_FACTORY";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IHCAFactoryBasic";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MAX_COMMITMENT_AGE";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_COMMITMENT_AGE";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTER_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_RENEW_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitmentAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "commitTime";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "getRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "getRemainingGracePeriod";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "getRenewPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "isAvailable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "isRenewable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rentPriceOracle";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "setRentPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x21df544947ba3e8b3c32561399e88b52dc8b2823";
                startBlock: number;
            };
            ENSv1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x5fc8d32690cc91d4c39d9d3abcbd16989f875707";
                startBlock: number;
            };
            ENSv2Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc6e7df5e7b4f2a278906862b61205850344d4e7d";
                startBlock: number;
            };
        };
    };
    rrRoot: {
        chain: {
            readonly id: 31337;
            readonly name: "ens-test-env";
            readonly blockExplorers?: {
                [key: string]: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
                default: {
                    name: string;
                    url: string;
                    apiUrl?: string | undefined;
                };
            } | undefined | undefined;
            readonly blockTime?: number | undefined | undefined;
            readonly contracts?: {
                [x: string]: viem.ChainContract | {
                    [sourceId: number]: viem.ChainContract | undefined;
                } | undefined;
                ensRegistry?: viem.ChainContract | undefined;
                ensUniversalResolver?: viem.ChainContract | undefined;
                multicall3?: viem.ChainContract | undefined;
                erc6492Verifier?: viem.ChainContract | undefined;
            } | undefined;
            readonly ensTlds?: readonly string[] | undefined;
            readonly nativeCurrency: {
                readonly decimals: 18;
                readonly name: "Ether";
                readonly symbol: "ETH";
            };
            readonly experimental_preconfirmationTime?: number | undefined | undefined;
            readonly rpcUrls: {
                readonly default: {
                    readonly http: readonly ["http://127.0.0.1:8545"];
                    readonly webSocket: readonly ["ws://127.0.0.1:8545"];
                };
            };
            readonly sourceId?: number | undefined | undefined;
            readonly testnet?: boolean | undefined | undefined;
            readonly custom?: Record<string, unknown> | undefined;
            readonly extendSchema?: Record<string, unknown> | undefined;
            readonly fees?: viem.ChainFees<undefined> | undefined;
            readonly formatters?: undefined;
            readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            DefaultReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x4c5859f0f772848b2d91f1d83e2fe57935348029";
                startBlock: number;
            };
            DefaultReverseResolver3: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x5f3f1dbd7b74c6b46e8c44f98792a1daf8d69154";
                startBlock: number;
            };
            DefaultPublicResolver4: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xa4899d35897033b927acfcf422bc745916139776";
                startBlock: number;
            };
            DefaultPublicResolver5: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf953b3a269d80e3eb0f2947630da976b896a8c5b";
                startBlock: number;
            };
        };
    };
};

/**
 * The Mainnet ENSNamespace
 */
declare const _default$2: {
    /**
     * ENSRoot Datasource
     *
     * Addresses and Start Blocks from ENS Mainnet Subgraph Manifest
     * https://ipfs.io/ipfs/Qmd94vseLpkUrSFvJ3GuPubJSyHz8ornhNrwEAt6pjcbex
     */
    ensroot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://etherscan.io";
                    readonly apiUrl: "https://api.etherscan.io/api";
                };
            };
            blockTime: 12000;
            contracts: {
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 23085558;
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 14353601;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 1;
            name: "Ethereum";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://eth.merkle.io"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ENSv1RegistryOld: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x314159265dd8dbb310642f98f50c066173c1259b";
                startBlock: number;
            };
            ENSv1Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85";
                startBlock: number;
            };
            LegacyEthRegistrarController: {
                abi: readonly [{
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_prices";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly name: "setCommitmentAges";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "isOwner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "NewPriceOracle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }];
                address: "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5";
                startBlock: number;
            };
            WrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract INameWrapper";
                        readonly name: "_nameWrapper";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "nameWrapper";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapper";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x253553366da8546fc250f225fe3d25d0c782303b";
                startBlock: number;
            };
            UnwrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "_defaultReverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredForReverseRecord";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "defaultReverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x59e16fccd424cc24e280be16e11bcd56fb0ce547";
                startBlock: number;
            };
            UniversalRegistrarRenewalWithReferrer: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IWrappedEthRegistrarController";
                        readonly name: "_wrappedEthRegistrarController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "RenewalReferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly stateMutability: "payable";
                    readonly type: "receive";
                }];
                address: "0xf55575bde5953ee4272d5ce7cdd924c74d8fa81a";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapETH2LD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401";
                startBlock: number;
            };
            UniversalResolver: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "ens";
                        readonly type: "string";
                    }];
                    readonly name: "DNSEncodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint16";
                        readonly name: "status";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "string";
                        readonly name: "message";
                        readonly type: "string";
                    }];
                    readonly name: "HttpError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBatchGatewayResponse";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "urls";
                        readonly type: "string[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "callData";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "callbackFunction";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "OffchainLookup";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "errorData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "ResolverNotContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "primaryAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "ReverseAddressMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "batchGatewayProvider";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IGatewayProvider";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly name: "ccipBatch";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipBatchCallback";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipReadCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "findResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "requireResolver";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bytes";
                            readonly name: "name";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offset";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "node";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "extended";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct AbstractUniversalResolver.ResolverInfo";
                        readonly name: "info";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveBatchCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallbackError";
                    readonly outputs: readonly [];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "reverse";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseAddressCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseNameCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "reverseWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "function";
                    readonly name: "multicall";
                    readonly stateMutability: "view";
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "";
                        readonly type: "bytes[]";
                    }];
                }];
                address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                startBlock: number;
            };
            BasenamesL1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xde9049636f4a1dfe0a64d1bfe3155c0a14c54f31";
                startBlock: number;
            };
            LineanamesL1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x1507ce9421232fdbd302f5ebe4590f8d77febbff";
                startBlock: number;
            };
            DotBoxL1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf97aac6c8dbaebcb54ff166d79706e3af7a813c8";
                startBlock: number;
            };
            ArgentResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xda1756bb923af5d1a05e277cb1e54f1d0a127890";
                startBlock: number;
            };
            LoopringResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf58d55f06bb92f083e78bb5063a2dd3544f9b6a3";
                startBlock: number;
            };
        };
    };
    /**
     * Basenames Datasource
     *
     * Addresses and Start Blocks from Basenames
     * https://github.com/base-org/basenames
     */
    basenames: {
        /**
         * As of 9-Feb-2025 the Resolver for 'base.eth' in the mainnet ENS namespace is
         * 0xde9049636F4a1dfE0a64d1bFe3155C0A14C54F31.
         *
         * This Resolver uses ENSIP-10 (Wildcard Resolution) and EIP-3668 (CCIP Read) to delegate
         * the forward resolution of data associated with subnames of 'base.eth' to an offchain
         * gateway server operated by Coinbase that uses the following subregistry contracts on
         * Base as its source of truth.
         *
         * The owner of 'base.eth' in the ENS Registry in the mainnet ENS namespace (e.g. Coinbase)
         * has the ability to change this configuration at any time.
         */
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://basescan.org";
                    readonly apiUrl: "https://api.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 1: {
                        readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 1: {
                        readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 5022;
                };
                readonly portal: {
                    readonly 1: {
                        readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 1: {
                        readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 8453;
            name: "Base";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://mainnet.base.org"];
                };
            };
            sourceId: 1;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "rootOwner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xb94704422c2a1e396835a571837aa5ae53285a95";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "registry_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "baseNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "baseURI_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "collectionURI_";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AccountBalanceOverflow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BalanceQueryForZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Expired";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NonexistentToken";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "NotApprovedOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NotOwnerNorApproved";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NotRegisteredOrInGrace";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OnlyController";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "RegistrarNotLive";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TokenAlreadyExists";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TokenDoesNotExist";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFromIncorrectOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferToNonERC721ReceiverImplementer";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferToZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "_fromTokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "_toTokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "BatchMetadataUpdate";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [];
                    readonly name: "ContractURIUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameRegisteredWithRecord";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "contractURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "result";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "isAvailable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "registerWithRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "baseURI_";
                        readonly type: "string";
                    }];
                    readonly name: "setBaseTokenURI";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "collectionURI_";
                        readonly type: "string";
                    }];
                    readonly name: "setContractURI";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }];
                address: "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a";
                startBlock: number;
            };
            EARegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }];
                    readonly name: "AddressEmptyCode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "AddressInsufficientBalance";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "FailedInnerCall";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct EARegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct EARegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }];
                    readonly name: "discountedRegistrants";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "hasRegisteredWithDiscount";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "address";
                        readonly name: "discountValidator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "discount";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct EARegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootName";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct EARegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xd3e6775ed9b7dc12b205c8e608dc3767b9e5efda";
                startBlock: number;
            };
            /**
             * This controller was removed from BaseRegistrar contract
             * https://basescan.org/tx/0x88a3cc03291bb1a4b2bd9ccfe6b770988470001905d96c32bd41b866797b684b
             */
            RegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }];
                    readonly name: "AddressEmptyCode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "AddressInsufficientBalance";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "FailedInnerCall";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct RegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct RegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }];
                    readonly name: "discountedRegistrants";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "hasRegisteredWithDiscount";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "address";
                        readonly name: "discountValidator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "discount";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct RegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "launchTime";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct RegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootName";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct RegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "launchTime_";
                        readonly type: "uint256";
                    }];
                    readonly name: "setLaunchTime";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x4ccb0bb02fcaba27e82a56646e81d8c5bc4119a5";
                startBlock: number;
                endBlock: number;
            };
            /**
             * This controller was added to BaseRegistrar contract
             * with the following tx:
             * https://basescan.org/tx/0x52aed4dc975ba6c2b8b54d94f5b0b86a9cc0f27e81e78deb4a0b8b568f5e71ed
             */
            UpgradeableRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidInitialization";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotValid";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NotInitializing";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableInvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableUnauthorizedAccount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ZeroAddress";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "version";
                        readonly type: "uint64";
                    }];
                    readonly name: "Initialized";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newL2ReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "L2ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferStarted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "acceptOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "uint256[]";
                            readonly name: "coinTypes";
                            readonly type: "uint256[]";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "signatureExpiry";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "legacyRegistrarController_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "legacyL2Resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "l2ReverseRegistrar_";
                        readonly type: "address";
                    }];
                    readonly name: "initialize";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pendingOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "uint256[]";
                            readonly name: "coinTypes";
                            readonly type: "uint256[]";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "signatureExpiry";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "l2ReverseRegistrar_";
                        readonly type: "address";
                    }];
                    readonly name: "setL2ReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "signatureExpiry";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "coinTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "setReverseRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xa7d2607c6bd39ae9521e514026cbb078405ab322";
                startBlock: number;
            };
            L2Resolver1: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc6d566a56a1aff6508b41f6c90ff131615583bcd";
                startBlock: number;
            };
            L2Resolver2: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x426fa03fb86e510d0dd9f70335cf102a98b10875";
                startBlock: number;
            };
        };
    };
    /**
     * Lineanames Datasource
     *
     * Addresses and Start Blocks from Lineanames
     * https://github.com/Consensys/linea-ens
     */
    lineanames: {
        /**
         * As of 9-Feb-2025 the Resolver for 'linea.eth' in the mainnet ENS namespace is
         * 0xde16ee87B0C019499cEBDde29c9F7686560f679a.
         *
         * This Resolver uses ENSIP-10 (Wildcard Resolution) and EIP-3668 (CCIP Read) to delegate
         * the forward resolution of data associated with subnames of 'linea.eth' to an offchain
         * gateway server operated by Consensys that uses the following subregistry contracts on
         * Linea as its source of truth.
         *
         * The owner of 'linea.eth' in the ENS Registry in the mainnet ENS namespace (e.g. Consensys)
         * has the ability to change this configuration at any time.
         */
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://lineascan.build";
                    readonly apiUrl: "https://api.lineascan.build/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
                    readonly blockCreated: 42;
                };
                readonly ensRegistry: {
                    readonly address: "0x50130b669B28C339991d8676FA73CF122a121267";
                    readonly blockCreated: 6682888;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
                    readonly blockCreated: 22222151;
                };
            };
            ensTlds: readonly [".linea.eth"];
            id: 59144;
            name: "Linea Mainnet";
            nativeCurrency: {
                readonly name: "Linea Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.linea.build"];
                    readonly webSocket: readonly ["wss://rpc.linea.build"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: false;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees: {
                readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
                readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
            };
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Registry: {
                abi: readonly [{
                    readonly inputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x50130b669b28c339991d8676fa73cf122a121267";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x6e84390dcc5195414ec91a8c56a5c91021b95704";
                startBlock: number;
            };
            EthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract INameWrapper";
                        readonly name: "_nameWrapper";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract PohVerifier";
                        readonly name: "_pohVerifier";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract PohRegistrationManager";
                        readonly name: "_pohRegistrationManager";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "_baseDomain";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BaseNodeAsETHNodeOrROOTNodeNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "DifferentBaseDomainBaseNode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyStringNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnerAlreadyRegistered";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "PohVerificationFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "currentTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "renewTimeStart";
                        readonly type: "uint256";
                    }];
                    readonly name: "RenewPOHNotStarted";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "SenderNotOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "WrongPohRegistrationDuration";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ZeroAddressNotAllowed";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewedPoh";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "OwnerNameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "PohNameRegistered";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "POH_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseDomain";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "nameWrapper";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapper";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }];
                    readonly name: "ownerRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pohRegistrationManager";
                    readonly outputs: readonly [{
                        readonly internalType: "contract PohRegistrationManager";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pohVerifier";
                    readonly outputs: readonly [{
                        readonly internalType: "contract PohVerifier";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_address";
                        readonly type: "address";
                    }];
                    readonly name: "redeemed";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "registerPoh";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "renewPoh";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xdb75db974b1f2bd3b5916d503036208064d18295";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "_baseNodeDnsEncoded";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BaseNodeAsETHNodeOrROOTNodeNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "DifferentBaseNodeBaseNodeDnsEncoded";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyDataNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrap";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapAnyLD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapAnyLD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xa53cca02f98d590819141aa85c891e2af713c223";
                startBlock: number;
            };
            DefaultPublicResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x86c5aed9f27837074612288610fb98ccc1733126";
                startBlock: number;
            };
        };
    };
    /**
     * The 3DNS Datasource on Optimism.
     * https://opensea.io/collection/3dns-powered-domains
     */
    threednsOptimism: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Optimism Explorer";
                    readonly url: "https://optimistic.etherscan.io";
                    readonly apiUrl: "https://api-optimistic.etherscan.io/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 1: {
                        readonly address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 1: {
                        readonly address: "0xdfe97868233d1aa22e815a266982f2cf17685a27";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 4286263;
                };
                readonly portal: {
                    readonly 1: {
                        readonly address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed";
                    };
                };
                readonly l1StandardBridge: {
                    readonly 1: {
                        readonly address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1";
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 10;
            name: "OP Mainnet";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://mainnet.optimism.io"];
                };
            };
            sourceId: 1;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ThreeDNSToken: {
                abi: readonly [{
                    readonly type: "event";
                    readonly name: "NewOwner";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes32";
                        readonly name: "label";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "owner";
                        readonly indexed: false;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationCreated";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes32";
                        readonly name: "tld";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes";
                        readonly name: "fqdn";
                        readonly indexed: false;
                    }, {
                        readonly type: "address";
                        readonly name: "registrant";
                        readonly indexed: false;
                    }, {
                        readonly type: "uint32";
                        readonly name: "controlBitmap";
                        readonly indexed: false;
                    }, {
                        readonly type: "uint64";
                        readonly name: "expiry";
                        readonly indexed: false;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationExtended";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "uint64";
                        readonly name: "duration";
                        readonly indexed: true;
                    }, {
                        readonly type: "uint64";
                        readonly name: "newExpiry";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationTransferred";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "newOwner";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "operator";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationBurned";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "burner";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly type: "uint256";
                        readonly name: "tokenId_";
                    }];
                    readonly outputs: readonly [{
                        readonly type: "string";
                        readonly name: "";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "resolver";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                    }];
                    readonly outputs: readonly [{
                        readonly type: "address";
                        readonly name: "";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }];
                address: "0xbb7b805b257d7c76ca9435b3ffe780355e4c4b17";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf97aac6c8dbaebcb54ff166d79706e3af7a813c8";
                startBlock: number;
            };
        };
    };
    /**
     * The 3DNS Datasource on Base.
     * https://opensea.io/collection/3dns-powered-domains-base
     */
    threednsBase: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://basescan.org";
                    readonly apiUrl: "https://api.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 1: {
                        readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 1: {
                        readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 5022;
                };
                readonly portal: {
                    readonly 1: {
                        readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 1: {
                        readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 8453;
            name: "Base";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://mainnet.base.org"];
                };
            };
            sourceId: 1;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ThreeDNSToken: {
                abi: readonly [{
                    readonly type: "event";
                    readonly name: "NewOwner";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes32";
                        readonly name: "label";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "owner";
                        readonly indexed: false;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationCreated";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes32";
                        readonly name: "tld";
                        readonly indexed: true;
                    }, {
                        readonly type: "bytes";
                        readonly name: "fqdn";
                        readonly indexed: false;
                    }, {
                        readonly type: "address";
                        readonly name: "registrant";
                        readonly indexed: false;
                    }, {
                        readonly type: "uint32";
                        readonly name: "controlBitmap";
                        readonly indexed: false;
                    }, {
                        readonly type: "uint64";
                        readonly name: "expiry";
                        readonly indexed: false;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationExtended";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "uint64";
                        readonly name: "duration";
                        readonly indexed: true;
                    }, {
                        readonly type: "uint64";
                        readonly name: "newExpiry";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationTransferred";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "newOwner";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "operator";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "event";
                    readonly name: "RegistrationBurned";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                        readonly indexed: true;
                    }, {
                        readonly type: "address";
                        readonly name: "burner";
                        readonly indexed: true;
                    }];
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly type: "uint256";
                        readonly name: "tokenId_";
                    }];
                    readonly outputs: readonly [{
                        readonly type: "string";
                        readonly name: "";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "resolver";
                    readonly inputs: readonly [{
                        readonly type: "bytes32";
                        readonly name: "node";
                    }];
                    readonly outputs: readonly [{
                        readonly type: "address";
                        readonly name: "";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }];
                address: "0xbb7b805b257d7c76ca9435b3ffe780355e4c4b17";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf97aac6c8dbaebcb54ff166d79706e3af7a813c8";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on the ENS Root chain.
     */
    rrRoot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://etherscan.io";
                    readonly apiUrl: "https://api.etherscan.io/api";
                };
            };
            blockTime: 12000;
            contracts: {
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 23085558;
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 14353601;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 1;
            name: "Ethereum";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://eth.merkle.io"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            DefaultReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x283f227c4bd38ece252c4ae7ece650b0e913f1f9";
                startBlock: number;
            };
            DefaultReverseResolver1: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xa2c122be93b0074270ebee7f6b7292c7deb45047";
                startBlock: number;
            };
            DefaultReverseResolver2: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63";
                startBlock: number;
            };
            DefaultReverseResolver3: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xa7d635c8de9a58a228aa69353a1699c7cc240dcf";
                startBlock: number;
            };
            DefaultPublicResolver0: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x1da022710df5002339274aadee8d58218e9d6ab5";
                startBlock: number;
            };
            DefaultPublicResolver1: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x5ffc014343cd971b7eb70732021e26c35b744cc4";
                startBlock: number;
            };
            DefaultPublicResolver2: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x226159d592e2b063810a10ebf6dcbada94ed68b8";
                startBlock: number;
            };
            DefaultPublicResolver3: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41";
                startBlock: number;
            };
            DefaultPublicResolver4: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63";
                startBlock: number;
            };
            DefaultPublicResolver5: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf29100983e058b709f3d539b0c765937b804ac15";
                startBlock: number;
            };
            BaseReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc800dbc8ff9796e58efba2d7b35028ddd1997e5e";
                startBlock: number;
            };
            LineaReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0ce08a41bdb10420fb5cac7da8ca508ea313aef8";
                startBlock: number;
            };
            OptimismReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xf9edb1a21867ac11b023ce34abad916d29abf107";
                startBlock: number;
            };
            ArbitrumReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x4b9572c03aaa8b0efa4b4b0f0cc0f0992bedb898";
                startBlock: number;
            };
            ScrollReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc4842814ca523e481ca5aa85f719fed1e9cac614";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Base.
     */
    rrBase: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://basescan.org";
                    readonly apiUrl: "https://api.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 1: {
                        readonly address: "0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 1: {
                        readonly address: "0x56315b90c40730925ec5485cf004d835058518A0";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 5022;
                };
                readonly portal: {
                    readonly 1: {
                        readonly address: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 1: {
                        readonly address: "0x3154Cf16ccdb4C6d922629664174b904d80F2C35";
                        readonly blockCreated: 17482143;
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 8453;
            name: "Base";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://mainnet.base.org"];
                };
            };
            sourceId: 1;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000d8e504002cc26e3ec46d81971c1664";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Linea.
     */
    rrLinea: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://lineascan.build";
                    readonly apiUrl: "https://api.lineascan.build/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
                    readonly blockCreated: 42;
                };
                readonly ensRegistry: {
                    readonly address: "0x50130b669B28C339991d8676FA73CF122a121267";
                    readonly blockCreated: 6682888;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
                    readonly blockCreated: 22222151;
                };
            };
            ensTlds: readonly [".linea.eth"];
            id: 59144;
            name: "Linea Mainnet";
            nativeCurrency: {
                readonly name: "Linea Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.linea.build"];
                    readonly webSocket: readonly ["wss://rpc.linea.build"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: false;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees: {
                readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
                readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
            };
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000d8e504002cc26e3ec46d81971c1664";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Optimism.
     */
    rrOptimism: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Optimism Explorer";
                    readonly url: "https://optimistic.etherscan.io";
                    readonly apiUrl: "https://api-optimistic.etherscan.io/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 1: {
                        readonly address: "0xe5965Ab5962eDc7477C8520243A95517CD252fA9";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 1: {
                        readonly address: "0xdfe97868233d1aa22e815a266982f2cf17685a27";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 4286263;
                };
                readonly portal: {
                    readonly 1: {
                        readonly address: "0xbEb5Fc579115071764c7423A4f12eDde41f106Ed";
                    };
                };
                readonly l1StandardBridge: {
                    readonly 1: {
                        readonly address: "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1";
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 10;
            name: "OP Mainnet";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://mainnet.optimism.io"];
                };
            };
            sourceId: 1;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000d8e504002cc26e3ec46d81971c1664";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Arbitrum.
     */
    rrArbitrum: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Arbiscan";
                    readonly url: "https://arbiscan.io";
                    readonly apiUrl: "https://api.arbiscan.io/api";
                };
            };
            blockTime: 250;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 7654707;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 42161;
            name: "Arbitrum One";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000d8e504002cc26e3ec46d81971c1664";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Scroll.
     */
    rrScroll: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Scrollscan";
                    readonly url: "https://scrollscan.com";
                    readonly apiUrl: "https://api.scrollscan.com/api";
                };
            };
            blockTime: 3000;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 14;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 534352;
            name: "Scroll";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.scroll.io"];
                    readonly webSocket: readonly ["wss://wss-rpc.scroll.io/ws"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: false;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000d8e504002cc26e3ec46d81971c1664";
                startBlock: number;
            };
        };
    };
    seaport: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://etherscan.io";
                    readonly apiUrl: "https://api.etherscan.io/api";
                };
            };
            blockTime: 12000;
            contracts: {
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 23085558;
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 14353601;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 1;
            name: "Ethereum";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://eth.merkle.io"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet?: boolean | undefined | undefined;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Seaport1_5: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "conduitController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BadContractSignature";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BadFraction";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "BadReturnValueFromERC20OnTransfer";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint8";
                        readonly name: "v";
                        readonly type: "uint8";
                    }];
                    readonly name: "BadSignatureV";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotCancelOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ConsiderationCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ConsiderationLengthNotEqualToTotalOriginal";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "considerationIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "shortfallAmount";
                        readonly type: "uint256";
                    }];
                    readonly name: "ConsiderationNotMet";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CriteriaNotEnabledForItem";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "identifiers";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "ERC1155BatchTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InexactFraction";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientNativeTokensSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Invalid1155BatchTransferEncoding";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBasicOrderParameterEncoding";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "conduit";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidCallToConduit";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "conduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "conduit";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidConduit";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidContractOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidERC721TransferAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidFulfillmentComponentData";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidMsgValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidNativeOfferItem";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidProof";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidRestrictedOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidSignature";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidSigner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "startTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "endTime";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidTime";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "fulfillmentIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "enum Side";
                        readonly name: "side";
                        readonly type: "uint8";
                    }];
                    readonly name: "MissingFulfillmentComponentOnAggregation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MissingItemAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MissingOriginalConsiderationItems";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "NativeTokenTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "NoContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoReentrantCalls";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoSpecifiedOrdersAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OfferAndConsiderationRequiredOnFulfillment";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OfferCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderAlreadyFilled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "enum Side";
                        readonly name: "side";
                        readonly type: "uint8";
                    }];
                    readonly name: "OrderCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderIsCancelled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderPartiallyFilled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "PartialFillsNotEnabledForOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "identifier";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "TokenTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "considerationIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "UnresolvedConsiderationCriteria";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "offerIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "UnresolvedOfferCriteria";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "UnusedItemParameters";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "newCounter";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }];
                    readonly name: "CounterIncremented";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "zone";
                        readonly type: "address";
                    }];
                    readonly name: "OrderCancelled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "zone";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "enum ItemType";
                            readonly name: "itemType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "address";
                            readonly name: "token";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "amount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct SpentItem[]";
                        readonly name: "offer";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "enum ItemType";
                            readonly name: "itemType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "address";
                            readonly name: "token";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "amount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "recipient";
                            readonly type: "address";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct ReceivedItem[]";
                        readonly name: "consideration";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "OrderFulfilled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalConsiderationItems";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct OrderParameters";
                        readonly name: "orderParameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "OrderValidated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32[]";
                        readonly name: "orderHashes";
                        readonly type: "bytes32[]";
                    }];
                    readonly name: "OrdersMatched";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "counter";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct OrderComponents[]";
                        readonly name: "orders";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "cancel";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "cancelled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder";
                        readonly name: "";
                        readonly type: "tuple";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }];
                    readonly name: "fulfillAdvancedOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumFulfilled";
                        readonly type: "uint256";
                    }];
                    readonly name: "fulfillAvailableAdvancedOrders";
                    readonly outputs: readonly [{
                        readonly internalType: "bool[]";
                        readonly name: "";
                        readonly type: "bool[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumFulfilled";
                        readonly type: "uint256";
                    }];
                    readonly name: "fulfillAvailableOrders";
                    readonly outputs: readonly [{
                        readonly internalType: "bool[]";
                        readonly name: "";
                        readonly type: "bool[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "considerationToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum BasicOrderType";
                            readonly name: "basicOrderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "offererConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "fulfillerConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalAdditionalRecipients";
                            readonly type: "uint256";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct AdditionalRecipient[]";
                            readonly name: "additionalRecipients";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct BasicOrderParameters";
                        readonly name: "parameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "fulfillBasicOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "considerationToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum BasicOrderType";
                            readonly name: "basicOrderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "offererConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "fulfillerConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalAdditionalRecipients";
                            readonly type: "uint256";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct AdditionalRecipient[]";
                            readonly name: "additionalRecipients";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct BasicOrderParameters";
                        readonly name: "parameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "fulfillBasicOrder_efficient_6GL6yc";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order";
                        readonly name: "";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "fulfillOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "contractOfferer";
                        readonly type: "address";
                    }];
                    readonly name: "getContractOffererNonce";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "nonce";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }];
                    readonly name: "getCounter";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "counter";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "counter";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct OrderComponents";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly name: "getOrderHash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "getOrderStatus";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "isValidated";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isCancelled";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "totalFilled";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "totalSize";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "incrementCounter";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "newCounter";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "information";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "version";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "domainSeparator";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "conduitController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "offerComponents";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "considerationComponents";
                            readonly type: "tuple[]";
                        }];
                        readonly internalType: "struct Fulfillment[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }];
                    readonly name: "matchAdvancedOrders";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "offerComponents";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "considerationComponents";
                            readonly type: "tuple[]";
                        }];
                        readonly internalType: "struct Fulfillment[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "matchOrders";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "validate";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly stateMutability: "payable";
                    readonly type: "receive";
                }];
                address: "0x00000000000000adc04c56bf30ac9d3c0aaf14dc";
                startBlock: number;
            };
        };
    };
};

/**
 * The Sepolia ENSNamespace
 *
 * NOTE: The Sepolia ENS namespace does not support 3DNS.
 */
declare const _default$1: {
    /**
     * ENSRoot Datasource
     *
     * Addresses and Start Blocks from ENS Sepolia Subgraph Manifest
     * https://ipfs.io/ipfs/QmdDtoN9QCRsBUsyoiiUUMQPPmPp5jimUQe81828UyWLtg
     */
    ensroot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ENSv1RegistryOld: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x94f523b8261b815b87effcf4d18e6abef18d6e4b";
                startBlock: number;
            };
            ENSv1Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85";
                startBlock: number;
            };
            LegacyEthRegistrarController: {
                abi: readonly [{
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_prices";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly name: "setCommitmentAges";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "isOwner";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly payable: true;
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "NewPriceOracle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }];
                address: "0x7e02892cfc2bfd53a75275451d73cf620e793fc0";
                startBlock: number;
            };
            WrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract INameWrapper";
                        readonly name: "_nameWrapper";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "nameWrapper";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapper";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xfed6a969aaa60e4961fcd3ebf1a2e8913ac65b72";
                startBlock: number;
            };
            UnwrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "_defaultReverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredForReverseRecord";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "defaultReverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xfb3ce5d01e0f33f41dbb39035db9745962f1f968";
                startBlock: number;
            };
            UniversalRegistrarRenewalWithReferrer: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IWrappedEthRegistrarController";
                        readonly name: "_wrappedEthRegistrarController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "RenewalReferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly stateMutability: "payable";
                    readonly type: "receive";
                }];
                address: "0x7ab2947592c280542e680ba8f08a589009da8644";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapETH2LD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x0635513f179d50a207757e05759cbd106d7dfce8";
                startBlock: number;
            };
            UniversalResolver: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "ens";
                        readonly type: "string";
                    }];
                    readonly name: "DNSEncodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint16";
                        readonly name: "status";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "string";
                        readonly name: "message";
                        readonly type: "string";
                    }];
                    readonly name: "HttpError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBatchGatewayResponse";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "urls";
                        readonly type: "string[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "callData";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "callbackFunction";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "OffchainLookup";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "errorData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "ResolverNotContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "primaryAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "ReverseAddressMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "batchGatewayProvider";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IGatewayProvider";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly name: "ccipBatch";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipBatchCallback";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipReadCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "findResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "requireResolver";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bytes";
                            readonly name: "name";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offset";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "node";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "extended";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct AbstractUniversalResolver.ResolverInfo";
                        readonly name: "info";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveBatchCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallbackError";
                    readonly outputs: readonly [];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "reverse";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseAddressCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseNameCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "reverseWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "function";
                    readonly name: "multicall";
                    readonly stateMutability: "view";
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "";
                        readonly type: "bytes[]";
                    }];
                }];
                address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                startBlock: number;
            };
            BasenamesL1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x084d10c07efeecd9ffc73deb38ecb72f9eeb65ab";
                startBlock: number;
            };
            LineanamesL1Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xb4b2748f543265e7e0d471f5d1bda81da4e74624";
                startBlock: number;
            };
        };
    };
    /**
     * Basenames Datasource
     *
     * Addresses and Start Blocks from Basenames
     * https://github.com/base-org/basenames
     */
    basenames: {
        /**
         * As of 5-Jun-2025 the Resolver for 'basetest.eth' in the Sepolia ENS namespace is
         * 0x084D10C07EfEecD9fFc73DEb38ecb72f9eEb65aB.
         *
         * This Resolver uses ENSIP-10 (Wildcard Resolution) and EIP-3668 (CCIP Read) to delegate
         * the forward resolution of data associated with subnames of 'basetest.eth' to an offchain
         * gateway server operated by Coinbase that uses the following subregistry contracts on
         * Base Sepolia as its source of truth.
         *
         * The owner of 'basetest.eth' in the ENS Registry on the Sepolia ENS namespace
         * (e.g. Coinbase) has the ability to change this configuration at any time.
         */
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://sepolia.basescan.org";
                    readonly apiUrl: "https://api-sepolia.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 11155111: {
                        readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 11155111: {
                        readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
                    };
                };
                readonly portal: {
                    readonly 11155111: {
                        readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 11155111: {
                        readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 1059647;
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 84532;
            name: "Base Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia.base.org"];
                };
            };
            sourceId: 11155111;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
            readonly network: "base-sepolia";
        };
        contracts: {
            Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "rootOwner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl_";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x1493b2567056c2181630115660963e13a8e32735";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "registry_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "baseNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "baseURI_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "collectionURI_";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AccountBalanceOverflow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BalanceQueryForZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Expired";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NonexistentToken";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "NotApprovedOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NotOwnerNorApproved";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "NotRegisteredOrInGrace";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OnlyController";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "RegistrarNotLive";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TokenAlreadyExists";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TokenDoesNotExist";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFromIncorrectOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferToNonERC721ReceiverImplementer";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferToZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "_fromTokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "_toTokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "BatchMetadataUpdate";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [];
                    readonly name: "ContractURIUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameRegisteredWithRecord";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "contractURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "result";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "isAvailable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "registerWithRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isApproved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "baseURI_";
                        readonly type: "string";
                    }];
                    readonly name: "setBaseTokenURI";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "collectionURI_";
                        readonly type: "string";
                    }];
                    readonly name: "setContractURI";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }];
                address: "0xa0c70ec36c010b55e3c434d6c6ebeec50c705794";
                startBlock: number;
            };
            EARegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }];
                    readonly name: "AddressEmptyCode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "AddressInsufficientBalance";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "FailedInnerCall";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct EARegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct EARegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }];
                    readonly name: "discountedRegistrants";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "hasRegisteredWithDiscount";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "address";
                        readonly name: "discountValidator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "discount";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct EARegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootName";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct EARegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x3a0e8c2a0a28f396a5e5b69edb2e630311f1517a";
                startBlock: number;
            };
            RegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }];
                    readonly name: "AddressEmptyCode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "AddressInsufficientBalance";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "AlreadyInitialized";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "FailedInnerCall";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NewOwnerIsZeroAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoHandoverRequest";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Unauthorized";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct RegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverCanceled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipHandoverRequested";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "oldOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "cancelOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "completeOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct RegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }];
                    readonly name: "discountedRegistrants";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "hasRegisteredWithDiscount";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "address";
                        readonly name: "discountValidator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "discount";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct RegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "launchTime";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "result";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "pendingOwner";
                        readonly type: "address";
                    }];
                    readonly name: "ownershipHandoverExpiresAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "result";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct RegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "requestOwnershipHandover";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootName";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rootNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct RegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "launchTime_";
                        readonly type: "uint256";
                    }];
                    readonly name: "setLaunchTime";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x49ae3cc2e3aa768b1e5654f5d3c6002144a59581";
                startBlock: number;
            };
            /**
             * This controller was added to BaseRegistrar contract
             * with the following tx:
             * https://sepolia.basescan.org/tx/0x648d984c1a379a6c300851b9561fe98a9b5282a26ca8c2c7660b11c53f0564bc
             */
            UpgradeableRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "AlreadyRegisteredWithDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InactiveDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "InvalidDiscount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidDiscountAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidInitialization";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidPaymentReceiver";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "key";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "validator";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidValidator";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotValid";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NotInitializing";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableInvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableUnauthorizedAccount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "TransferFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ZeroAddress";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DiscountApplied";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "DiscountUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "payee";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly name: "ETHPaymentProcessed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "version";
                        readonly type: "uint64";
                    }];
                    readonly name: "Initialized";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newL2ReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "L2ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferStarted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPaymentReceiver";
                        readonly type: "address";
                    }];
                    readonly name: "PaymentReceiverUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newPrices";
                        readonly type: "address";
                    }];
                    readonly name: "PriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "newReverseRegistrar";
                        readonly type: "address";
                    }];
                    readonly name: "ReverseRegistrarUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_NAME_LENGTH";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "acceptOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "uint256[]";
                            readonly name: "coinTypes";
                            readonly type: "uint256[]";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "signatureExpiry";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "validationData";
                        readonly type: "bytes";
                    }];
                    readonly name: "discountedRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discountedRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "price";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "discountKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "discounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "getActiveDiscounts";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addresses";
                        readonly type: "address[]";
                    }];
                    readonly name: "hasRegisteredWithDiscount";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "base_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverseRegistrar_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "rootNode_";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "rootName_";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "legacyRegistrarController_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "legacyL2Resolver_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "l2ReverseRegistrar_";
                        readonly type: "address";
                    }];
                    readonly name: "initialize";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "paymentReceiver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pendingOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "name";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "reverseRecord";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "uint256[]";
                            readonly name: "coinTypes";
                            readonly type: "uint256[]";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "signatureExpiry";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.RegisterRequest";
                        readonly name: "request";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bool";
                            readonly name: "active";
                            readonly type: "bool";
                        }, {
                            readonly internalType: "address";
                            readonly name: "discountValidator";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "key";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "discount";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct UpgradeableRegistrarController.DiscountDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly name: "setDiscountDetails";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "l2ReverseRegistrar_";
                        readonly type: "address";
                    }];
                    readonly name: "setL2ReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "paymentReceiver_";
                        readonly type: "address";
                    }];
                    readonly name: "setPaymentReceiver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "prices_";
                        readonly type: "address";
                    }];
                    readonly name: "setPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "signatureExpiry";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "coinTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "setReverseRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "reverse_";
                        readonly type: "address";
                    }];
                    readonly name: "setReverseRegistrar";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdrawETH";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x82c858cdf64b3d893fe54962680edfddc37e94c8";
                startBlock: number;
            };
        };
    };
    /**
     * Lineanames Datasource
     *
     * Addresses and Start Blocks from Lineanames
     * https://github.com/Consensys/linea-ens
     */
    lineanames: {
        /**
         * As of 5-Jun-2025 the Resolver for 'linea-sepolia.eth' in the Sepolia ENS namespace is
         * 0x64884ED06241c059497aEdB2C7A44CcaE6bc7937.
         *
         * This Resolver uses ENSIP-10 (Wildcard Resolution) and EIP-3668 (CCIP Read) to delegate
         * the forward resolution of data associated with subnames of 'linea-sepolia.eth' to an offchain
         * gateway server operated by Consensys that uses the following subregistry contracts on
         * Linea Sepolia as its source of truth.
         *
         * The owner of 'linea-sepolia.eth' in the ENS Registry on the Sepolia ENS namespace
         * (e.g. Consensys) has the ability to change this configuration at any time.
         */
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.lineascan.build";
                    readonly apiUrl: "https://api-sepolia.lineascan.build/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 227427;
                };
                readonly ensRegistry: {
                    readonly address: "0x5B2636F0f2137B4aE722C01dd5122D7d3e9541f7";
                    readonly blockCreated: 2395094;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
                    readonly blockCreated: 17168484;
                };
            };
            ensTlds: readonly [".linea.eth"];
            id: 59141;
            name: "Linea Sepolia Testnet";
            nativeCurrency: {
                readonly name: "Linea Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.sepolia.linea.build"];
                    readonly webSocket: readonly ["wss://rpc.sepolia.linea.build"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees: {
                readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
                readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
            };
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Registry: {
                abi: readonly [{
                    readonly inputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x5b2636f0f2137b4ae722c01dd5122d7d3e9541f7";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x83475a84c0ea834f06c8e636a62631e7d2e07a44";
                startBlock: number;
            };
            EthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract INameWrapper";
                        readonly name: "_nameWrapper";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract PohVerifier";
                        readonly name: "_pohVerifier";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract PohRegistrationManager";
                        readonly name: "_pohRegistrationManager";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "_baseDomain";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BaseNodeAsETHNodeOrROOTNodeNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "DifferentBaseDomainBaseNode";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyStringNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnerAlreadyRegistered";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "PohVerificationFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "currentTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "renewTimeStart";
                        readonly type: "uint256";
                    }];
                    readonly name: "RenewPOHNotStarted";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }];
                    readonly name: "SenderNotOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "WrongPohRegistrationDuration";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ZeroAddressNotAllowed";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewedPoh";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "OwnerNameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "PohNameRegistered";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "POH_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseDomain";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "nameWrapper";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapper";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }];
                    readonly name: "ownerRegister";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pohRegistrationManager";
                    readonly outputs: readonly [{
                        readonly internalType: "contract PohRegistrationManager";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "pohVerifier";
                    readonly outputs: readonly [{
                        readonly internalType: "contract PohVerifier";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_address";
                        readonly type: "address";
                    }];
                    readonly name: "redeemed";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "reverseRecord";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "registerPoh";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "signature";
                        readonly type: "bytes";
                    }];
                    readonly name: "renewPoh";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x0f81e3b3a32dfe1b8a08d3c0061d852337a09338";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "_baseNodeDnsEncoded";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BaseNodeAsETHNodeOrROOTNodeNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "DifferentBaseNodeBaseNodeDnsEncoded";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyDataNotAllowed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrap";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapAnyLD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapAnyLD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xf127de9e039a789806fed4c6b1c0f3affea9425e";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on the (Sepolia) ENS Root chain.
     */
    rrRoot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            DefaultReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x4f382928805ba0e23b30cfb75fc9e848e82dfd47";
                startBlock: number;
            };
            DefaultReverseResolver1: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x8fade66b79cc9f707ab26799354482eb93a5b7dd";
                startBlock: number;
            };
            DefaultReverseResolver2: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x8948458626811dd0c23eb25cc74291247077cc51";
                startBlock: number;
            };
            DefaultReverseResolver3: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x9dc60e7bd81ccc96774c55214ff389d42ae5e9ac";
                startBlock: number;
            };
            DefaultPublicResolver3: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x8fade66b79cc9f707ab26799354482eb93a5b7dd";
                startBlock: number;
            };
            DefaultPublicResolver4: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x8948458626811dd0c23eb25cc74291247077cc51";
                startBlock: number;
            };
            DefaultPublicResolver5: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xe99638b40e4fff0129d56f03b55b6bbc4bbe49b5";
                startBlock: number;
            };
            BaseReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xaf3b3f636be80b6709f5bd3a374d6ac0d0a7c7aa";
                startBlock: number;
            };
            LineaReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x083da1dbc0f379ccda6ac81a934207c3d8a8a205";
                startBlock: number;
            };
            OptimismReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc9ae189772bd48e01410ab3be933637ee9d3aa5f";
                startBlock: number;
            };
            ArbitrumReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x926f94d2adc77c86cb0050892097d49aadd02e8b";
                startBlock: number;
            };
            ScrollReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x9fa59673e43f15bdb8722fdaf5c2107574b99062";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Base Sepolia.
     */
    rrBase: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://sepolia.basescan.org";
                    readonly apiUrl: "https://api-sepolia.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 11155111: {
                        readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 11155111: {
                        readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
                    };
                };
                readonly portal: {
                    readonly 11155111: {
                        readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 11155111: {
                        readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 1059647;
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 84532;
            name: "Base Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia.base.org"];
                };
            };
            sourceId: 11155111;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
            readonly network: "base-sepolia";
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Optimism Sepolia.
     */
    rrOptimism: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Blockscout";
                    readonly url: "https://optimism-sepolia.blockscout.com";
                    readonly apiUrl: "https://optimism-sepolia.blockscout.com/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 11155111: {
                        readonly address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 11155111: {
                        readonly address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 1620204;
                };
                readonly portal: {
                    readonly 11155111: {
                        readonly address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC";
                    };
                };
                readonly l1StandardBridge: {
                    readonly 11155111: {
                        readonly address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1";
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155420;
            name: "OP Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia.optimism.io"];
                };
            };
            sourceId: 11155111;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Arbitrum Sepolia.
     */
    rrArbitrum: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Arbiscan";
                    readonly url: "https://sepolia.arbiscan.io";
                    readonly apiUrl: "https://api-sepolia.arbiscan.io/api";
                };
            };
            blockTime: 250;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 81930;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 421614;
            name: "Arbitrum Sepolia";
            nativeCurrency: {
                readonly name: "Arbitrum Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Scroll Sepolia.
     */
    rrScroll: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Scrollscan";
                    readonly url: "https://sepolia.scrollscan.com";
                    readonly apiUrl: "https://api-sepolia.scrollscan.com/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 9473;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 534351;
            name: "Scroll Sepolia";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia-rpc.scroll.io"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Linea Sepolia.
     */
    rrLinea: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.lineascan.build";
                    readonly apiUrl: "https://api-sepolia.lineascan.build/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 227427;
                };
                readonly ensRegistry: {
                    readonly address: "0x5B2636F0f2137B4aE722C01dd5122D7d3e9541f7";
                    readonly blockCreated: 2395094;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
                    readonly blockCreated: 17168484;
                };
            };
            ensTlds: readonly [".linea.eth"];
            id: 59141;
            name: "Linea Sepolia Testnet";
            nativeCurrency: {
                readonly name: "Linea Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.sepolia.linea.build"];
                    readonly webSocket: readonly ["wss://rpc.sepolia.linea.build"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees: {
                readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
                readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
            };
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    seaport: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Seaport1_5: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "conduitController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BadContractSignature";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BadFraction";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "BadReturnValueFromERC20OnTransfer";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint8";
                        readonly name: "v";
                        readonly type: "uint8";
                    }];
                    readonly name: "BadSignatureV";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotCancelOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ConsiderationCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ConsiderationLengthNotEqualToTotalOriginal";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "considerationIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "shortfallAmount";
                        readonly type: "uint256";
                    }];
                    readonly name: "ConsiderationNotMet";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CriteriaNotEnabledForItem";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "identifiers";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "ERC1155BatchTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InexactFraction";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientNativeTokensSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "Invalid1155BatchTransferEncoding";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBasicOrderParameterEncoding";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "conduit";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidCallToConduit";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "conduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "conduit";
                        readonly type: "address";
                    }];
                    readonly name: "InvalidConduit";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidContractOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidERC721TransferAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidFulfillmentComponentData";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidMsgValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidNativeOfferItem";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidProof";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "InvalidRestrictedOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidSignature";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidSigner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "startTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "endTime";
                        readonly type: "uint256";
                    }];
                    readonly name: "InvalidTime";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "fulfillmentIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "MismatchedFulfillmentOfferAndConsiderationComponents";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "enum Side";
                        readonly name: "side";
                        readonly type: "uint8";
                    }];
                    readonly name: "MissingFulfillmentComponentOnAggregation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MissingItemAmount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MissingOriginalConsiderationItems";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "NativeTokenTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "NoContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoReentrantCalls";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NoSpecifiedOrdersAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OfferAndConsiderationRequiredOnFulfillment";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "OfferCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderAlreadyFilled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "enum Side";
                        readonly name: "side";
                        readonly type: "uint8";
                    }];
                    readonly name: "OrderCriteriaResolverOutOfRange";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderIsCancelled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OrderPartiallyFilled";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "PartialFillsNotEnabledForOrder";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "identifier";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "TokenTransferGenericFailure";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "considerationIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "UnresolvedConsiderationCriteria";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "orderIndex";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "offerIndex";
                        readonly type: "uint256";
                    }];
                    readonly name: "UnresolvedOfferCriteria";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "UnusedItemParameters";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "newCounter";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }];
                    readonly name: "CounterIncremented";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "zone";
                        readonly type: "address";
                    }];
                    readonly name: "OrderCancelled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "zone";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "enum ItemType";
                            readonly name: "itemType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "address";
                            readonly name: "token";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "amount";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct SpentItem[]";
                        readonly name: "offer";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "enum ItemType";
                            readonly name: "itemType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "address";
                            readonly name: "token";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "amount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "recipient";
                            readonly type: "address";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct ReceivedItem[]";
                        readonly name: "consideration";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "OrderFulfilled";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalConsiderationItems";
                            readonly type: "uint256";
                        }];
                        readonly indexed: false;
                        readonly internalType: "struct OrderParameters";
                        readonly name: "orderParameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "OrderValidated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32[]";
                        readonly name: "orderHashes";
                        readonly type: "bytes32[]";
                    }];
                    readonly name: "OrdersMatched";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "counter";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct OrderComponents[]";
                        readonly name: "orders";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "cancel";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "cancelled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder";
                        readonly name: "";
                        readonly type: "tuple";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }];
                    readonly name: "fulfillAdvancedOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumFulfilled";
                        readonly type: "uint256";
                    }];
                    readonly name: "fulfillAvailableAdvancedOrders";
                    readonly outputs: readonly [{
                        readonly internalType: "bool[]";
                        readonly name: "";
                        readonly type: "bool[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "itemIndex";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct FulfillmentComponent[][]";
                        readonly name: "";
                        readonly type: "tuple[][]";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumFulfilled";
                        readonly type: "uint256";
                    }];
                    readonly name: "fulfillAvailableOrders";
                    readonly outputs: readonly [{
                        readonly internalType: "bool[]";
                        readonly name: "";
                        readonly type: "bool[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "considerationToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum BasicOrderType";
                            readonly name: "basicOrderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "offererConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "fulfillerConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalAdditionalRecipients";
                            readonly type: "uint256";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct AdditionalRecipient[]";
                            readonly name: "additionalRecipients";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct BasicOrderParameters";
                        readonly name: "parameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "fulfillBasicOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "considerationToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "considerationAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "address payable";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerToken";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerIdentifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offerAmount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum BasicOrderType";
                            readonly name: "basicOrderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "offererConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "fulfillerConduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "totalOriginalAdditionalRecipients";
                            readonly type: "uint256";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct AdditionalRecipient[]";
                            readonly name: "additionalRecipients";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct BasicOrderParameters";
                        readonly name: "parameters";
                        readonly type: "tuple";
                    }];
                    readonly name: "fulfillBasicOrder_efficient_6GL6yc";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order";
                        readonly name: "";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "fulfillerConduitKey";
                        readonly type: "bytes32";
                    }];
                    readonly name: "fulfillOrder";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "fulfilled";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "contractOfferer";
                        readonly type: "address";
                    }];
                    readonly name: "getContractOffererNonce";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "nonce";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "offerer";
                        readonly type: "address";
                    }];
                    readonly name: "getCounter";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "counter";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "address";
                            readonly name: "zone";
                            readonly type: "address";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OfferItem[]";
                            readonly name: "offer";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifierOrCriteria";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endAmount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ConsiderationItem[]";
                            readonly name: "consideration";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "enum OrderType";
                            readonly name: "orderType";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "startTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "endTime";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "zoneHash";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "salt";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "counter";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct OrderComponents";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly name: "getOrderHash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "orderHash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "getOrderStatus";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "isValidated";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isCancelled";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "totalFilled";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "totalSize";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "incrementCounter";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "newCounter";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "information";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "version";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "domainSeparator";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "conduitController";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "numerator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "uint120";
                            readonly name: "denominator";
                            readonly type: "uint120";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "extraData";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct AdvancedOrder[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "orderIndex";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "enum Side";
                            readonly name: "side";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "index";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "identifier";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32[]";
                            readonly name: "criteriaProof";
                            readonly type: "bytes32[]";
                        }];
                        readonly internalType: "struct CriteriaResolver[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "offerComponents";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "considerationComponents";
                            readonly type: "tuple[]";
                        }];
                        readonly internalType: "struct Fulfillment[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly internalType: "address";
                        readonly name: "recipient";
                        readonly type: "address";
                    }];
                    readonly name: "matchAdvancedOrders";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "offerComponents";
                            readonly type: "tuple[]";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "orderIndex";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "itemIndex";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct FulfillmentComponent[]";
                            readonly name: "considerationComponents";
                            readonly type: "tuple[]";
                        }];
                        readonly internalType: "struct Fulfillment[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "matchOrders";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "enum ItemType";
                                readonly name: "itemType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "address";
                                readonly name: "token";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "identifier";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "amount";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "address payable";
                                readonly name: "recipient";
                                readonly type: "address";
                            }];
                            readonly internalType: "struct ReceivedItem";
                            readonly name: "item";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "address";
                            readonly name: "offerer";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "conduitKey";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct Execution[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "offerer";
                                readonly type: "address";
                            }, {
                                readonly internalType: "address";
                                readonly name: "zone";
                                readonly type: "address";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }];
                                readonly internalType: "struct OfferItem[]";
                                readonly name: "offer";
                                readonly type: "tuple[]";
                            }, {
                                readonly components: readonly [{
                                    readonly internalType: "enum ItemType";
                                    readonly name: "itemType";
                                    readonly type: "uint8";
                                }, {
                                    readonly internalType: "address";
                                    readonly name: "token";
                                    readonly type: "address";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "identifierOrCriteria";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "startAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "uint256";
                                    readonly name: "endAmount";
                                    readonly type: "uint256";
                                }, {
                                    readonly internalType: "address payable";
                                    readonly name: "recipient";
                                    readonly type: "address";
                                }];
                                readonly internalType: "struct ConsiderationItem[]";
                                readonly name: "consideration";
                                readonly type: "tuple[]";
                            }, {
                                readonly internalType: "enum OrderType";
                                readonly name: "orderType";
                                readonly type: "uint8";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "startTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "zoneHash";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "salt";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "bytes32";
                                readonly name: "conduitKey";
                                readonly type: "bytes32";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "totalOriginalConsiderationItems";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct OrderParameters";
                            readonly name: "parameters";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "bytes";
                            readonly name: "signature";
                            readonly type: "bytes";
                        }];
                        readonly internalType: "struct Order[]";
                        readonly name: "";
                        readonly type: "tuple[]";
                    }];
                    readonly name: "validate";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly stateMutability: "payable";
                    readonly type: "receive";
                }];
                address: "0x00000000000000adc04c56bf30ac9d3c0aaf14dc";
                startBlock: number;
            };
        };
    };
};

/**
 * The Sepolia V2 ENSNamespace
 *
 * This represents a testing deployment of ENSv1 w/ ENSv2 on Sepolia.
 */
declare const _default: {
    /**
     * ENS Root contracts deployed on Sepolia for the ENSv1 + ENSv2 test deployment.
     *
     * NOTE: `LegacyEthRegistrarController`, `WrappedEthRegistrarController`, and
     * `UniversalRegistrarRenewalWithReferrer` are not part of this deployment and are therefore
     * omitted; consumers of this datasource must treat them as optional.
     */
    ensroot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            ENSv1RegistryOld: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x0000000000000000000000000000000000000000";
                startBlock: number;
            };
            ENSv1Registry: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_old";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NewOwner";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "NewResolver";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "NewTTL";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "old";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordExists";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "resolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setOwner";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "label";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "ttl";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xb6fb46e1458915dd828633d91e1df8e4c3f2d4dd";
                startBlock: number;
            };
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            BaseRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "_baseNode";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerAdded";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "ControllerRemoved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameMigrated";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Transfer";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "addController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "baseNode";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "nameExpires";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "reclaim";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "registerOnly";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "removeController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "symbol";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "tokenURI";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "transferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xa51c9e6efe589407c72984e93b45e35a71a398ec";
                startBlock: number;
            };
            UnwrappedEthRegistrarController: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract BaseRegistrarImplementation";
                        readonly name: "_base";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "_prices";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_minCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_maxCommitmentAge";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "_reverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "_defaultReverseRegistrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maximumCommitmentTimestamp";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "currentTimestamp";
                        readonly type: "uint256";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InsufficientValue";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooHigh";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredForReverseRecord";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ResolverRequiredWhenDataSupplied";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "baseCost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "cost";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTRATION_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "available";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitments";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "defaultReverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IDefaultReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "maxCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "minCommitmentAge";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "prices";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "string";
                            readonly name: "label";
                            readonly type: "string";
                        }, {
                            readonly internalType: "address";
                            readonly name: "owner";
                            readonly type: "address";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "duration";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "secret";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bytes[]";
                            readonly name: "data";
                            readonly type: "bytes[]";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "reverseRecord";
                            readonly type: "uint8";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "referrer";
                            readonly type: "bytes32";
                        }];
                        readonly internalType: "struct IETHRegistrarController.Registration";
                        readonly name: "registration";
                        readonly type: "tuple";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "payable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "base";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "premium";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct IPriceOracle.Price";
                        readonly name: "price";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "reverseRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IReverseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "valid";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "withdraw";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xb5778cf6cc9586d9ce740039c84dfb1802f307bc";
                startBlock: number;
            };
            NameWrapper: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "_ens";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "_registrar";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "CannotUpgrade";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncompatibleParent";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "IncorrectTargetOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "IncorrectTokenType";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "expectedLabelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "LabelMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "LabelTooLong";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "LabelTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "NameIsNotWrapped";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "OperationProhibited";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "Unauthorised";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "approved";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "Approval";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "ControllerChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "ExpiryExtended";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }];
                    readonly name: "FusesSet";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "NameUnwrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "NameWrapped";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                        readonly name: "values";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "TransferBatch";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "value";
                        readonly type: "uint256";
                    }];
                    readonly name: "TransferSingle";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "URI";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly name: "_tokens";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuseMask";
                        readonly type: "uint32";
                    }];
                    readonly name: "allFusesBurned";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "balanceOf";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "accounts";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }];
                    readonly name: "balanceOfBatch";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256[]";
                        readonly name: "";
                        readonly type: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canExtendSubnames";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "canModifyName";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "controllers";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ens";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "extendExpiry";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getApproved";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "getData";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "isWrapped";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "metadataService";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "names";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "onERC721Received";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "";
                        readonly type: "bytes4";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }];
                    readonly name: "ownerOf";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "_token";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "_to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "_amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "recoverFunds";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "registerAndWrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "registrarExpiry";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registrar";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IBaseRegistrar";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "duration";
                        readonly type: "uint256";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "expires";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "ids";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "amounts";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeBatchTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "from";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "to";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "id";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "safeTransferFrom";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setChildFuses";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "active";
                        readonly type: "bool";
                    }];
                    readonly name: "setController";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }];
                    readonly name: "setFuses";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IMetadataService";
                        readonly name: "_metadataService";
                        readonly type: "address";
                    }];
                    readonly name: "setMetadataService";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setRecord";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "setResolver";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeOwner";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "fuses";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly name: "setSubnodeRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "ttl";
                        readonly type: "uint64";
                    }];
                    readonly name: "setTTL";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "_upgradeAddress";
                        readonly type: "address";
                    }];
                    readonly name: "setUpgradeContract";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "parentNode";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "labelhash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "registrant";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "controller";
                        readonly type: "address";
                    }];
                    readonly name: "unwrapETH2LD";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "upgrade";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "upgradeContract";
                    readonly outputs: readonly [{
                        readonly internalType: "contract INameWrapperUpgrade";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly name: "uri";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrap";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "wrappedOwner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "ownerControlledFuses";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "wrapETH2LD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "expiry";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0x250a6c640297f605b63c6e91c7cd376f04b288da";
                startBlock: number;
            };
            UniversalResolver: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "ens";
                        readonly type: "string";
                    }];
                    readonly name: "DNSEncodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "EmptyAddress";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint16";
                        readonly name: "status";
                        readonly type: "uint16";
                    }, {
                        readonly internalType: "string";
                        readonly name: "message";
                        readonly type: "string";
                    }];
                    readonly name: "HttpError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidBatchGatewayResponse";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "sender";
                        readonly type: "address";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "urls";
                        readonly type: "string[]";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "callData";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "callbackFunction";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "OffchainLookup";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "offset";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "length";
                        readonly type: "uint256";
                    }];
                    readonly name: "OffsetOutOfBoundsError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "errorData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverError";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly name: "ResolverNotContract";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "ResolverNotFound";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "primaryAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "ReverseAddressMismatch";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "batchGatewayProvider";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IGatewayProvider";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly name: "ccipBatch";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipBatchCallback";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "address";
                                readonly name: "target";
                                readonly type: "address";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "call";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "bytes";
                                readonly name: "data";
                                readonly type: "bytes";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "flags";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct CCIPBatcher.Lookup[]";
                            readonly name: "lookups";
                            readonly type: "tuple[]";
                        }, {
                            readonly internalType: "string[]";
                            readonly name: "gateways";
                            readonly type: "string[]";
                        }];
                        readonly internalType: "struct CCIPBatcher.Batch";
                        readonly name: "batch";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "ccipReadCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "findResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "registry";
                    readonly outputs: readonly [{
                        readonly internalType: "contract ENS";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "requireResolver";
                    readonly outputs: readonly [{
                        readonly components: readonly [{
                            readonly internalType: "bytes";
                            readonly name: "name";
                            readonly type: "bytes";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "offset";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "node";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "address";
                            readonly name: "resolver";
                            readonly type: "address";
                        }, {
                            readonly internalType: "bool";
                            readonly name: "extended";
                            readonly type: "bool";
                        }];
                        readonly internalType: "struct AbstractUniversalResolver.ResolverInfo";
                        readonly name: "info";
                        readonly type: "tuple";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveBatchCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallback";
                    readonly outputs: readonly [];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolveDirectCallbackError";
                    readonly outputs: readonly [];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "resolveWithResolver";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "reverse";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseAddressCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "response";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "extraData";
                        readonly type: "bytes";
                    }];
                    readonly name: "reverseNameCallback";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "lookupAddress";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "string[]";
                        readonly name: "gateways";
                        readonly type: "string[]";
                    }];
                    readonly name: "reverseWithGateways";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "primary";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "reverseResolver";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "function";
                    readonly name: "multicall";
                    readonly stateMutability: "view";
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "";
                        readonly type: "bytes[]";
                    }];
                }];
                address: "0x651d670ce0d0f1ed0893f39d51fd0dbd4546c9ef";
                startBlock: number;
            };
        };
    };
    ENSv2Root: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            Resolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                startBlock: number;
            };
            Registry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                startBlock: number;
            };
            EnhancedAccessControl: {
                abi: readonly [{
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                startBlock: number;
            };
            RootRegistry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                address: "0x835f0b284e78cd3f358bcf6cba3b53809f09b79e";
                startBlock: number;
            };
            ETHRegistry: {
                abi: readonly [{
                    readonly type: "constructor";
                    readonly inputs: readonly [{
                        readonly name: "hcaFactory";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }, {
                        readonly name: "metadata";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }, {
                        readonly name: "ownerAddress";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ownerRoles";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "HCA_FACTORY";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IHCAFactoryBasic";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "METADATA_PROVIDER";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistryMetadata";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ROOT_RESOURCE";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOf";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "balanceOfBatch";
                    readonly inputs: readonly [{
                        readonly name: "accounts";
                        readonly type: "address[]";
                        readonly internalType: "address[]";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getAssigneeCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "counts";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "mask";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getExpiry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getParent";
                    readonly inputs: readonly [];
                    readonly outputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResolver";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getResource";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getState";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "state";
                        readonly type: "tuple";
                        readonly internalType: "struct IPermissionedRegistry.State";
                        readonly components: readonly [{
                            readonly name: "status";
                            readonly type: "uint8";
                            readonly internalType: "enum IPermissionedRegistry.Status";
                        }, {
                            readonly name: "expiry";
                            readonly type: "uint64";
                            readonly internalType: "uint64";
                        }, {
                            readonly name: "latestOwner";
                            readonly type: "address";
                            readonly internalType: "address";
                        }, {
                            readonly name: "tokenId";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }, {
                            readonly name: "resource";
                            readonly type: "uint256";
                            readonly internalType: "uint256";
                        }];
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getStatus";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint8";
                        readonly internalType: "enum IPermissionedRegistry.Status";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "getTokenId";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "grantRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "grantRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "hasAssignees";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "hasRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "isApprovedForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "latestOwnerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "ownerOf";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "register";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "renew";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "revokeRootRoles";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "roleCount";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "roles";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "safeBatchTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "safeTransferFrom";
                    readonly inputs: readonly [{
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "data";
                        readonly type: "bytes";
                        readonly internalType: "bytes";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setParent";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setResolver";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "setSubregistry";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "registry";
                        readonly type: "address";
                        readonly internalType: "contract IRegistry";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "supportsInterface";
                    readonly inputs: readonly [{
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                        readonly internalType: "bytes4";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "bool";
                        readonly internalType: "bool";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "function";
                    readonly name: "unregister";
                    readonly inputs: readonly [{
                        readonly name: "anyId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                }, {
                    readonly type: "function";
                    readonly name: "uri";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                    readonly outputs: readonly [{
                        readonly name: "";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                    readonly stateMutability: "view";
                }, {
                    readonly type: "event";
                    readonly name: "ApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "approved";
                        readonly type: "bool";
                        readonly indexed: false;
                        readonly internalType: "bool";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "EACRolesChanged";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "oldRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newRoleBitmap";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ExpiryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelRegistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly indexed: false;
                        readonly internalType: "address";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelReserved";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "labelHash";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly indexed: false;
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "LabelUnregistered";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ParentUpdated";
                    readonly inputs: readonly [{
                        readonly name: "parent";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "label";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ResolverUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resolver";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "SubregistryUpdated";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "subregistry";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "contract IRegistry";
                    }, {
                        readonly name: "sender";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenRegenerated";
                    readonly inputs: readonly [{
                        readonly name: "oldTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "newTokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TokenResource";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferBatch";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "ids";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }, {
                        readonly name: "values";
                        readonly type: "uint256[]";
                        readonly indexed: false;
                        readonly internalType: "uint256[]";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "TransferSingle";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "to";
                        readonly type: "address";
                        readonly indexed: true;
                        readonly internalType: "address";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "value";
                        readonly type: "uint256";
                        readonly indexed: false;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "URI";
                    readonly inputs: readonly [{
                        readonly name: "value";
                        readonly type: "string";
                        readonly indexed: false;
                        readonly internalType: "string";
                    }, {
                        readonly name: "id";
                        readonly type: "uint256";
                        readonly indexed: true;
                        readonly internalType: "uint256";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "error";
                    readonly name: "CannotReduceExpiry";
                    readonly inputs: readonly [{
                        readonly name: "oldExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }, {
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "CannotSetPastExpiry";
                    readonly inputs: readonly [{
                        readonly name: "expiry";
                        readonly type: "uint64";
                        readonly internalType: "uint64";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotGrantRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACCannotRevokeRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidAccount";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACInvalidRoleBitmap";
                    readonly inputs: readonly [{
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMaxAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACMinAssignees";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "role";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "EACRootResourceNotAllowed";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "EACUnauthorizedAccountRoles";
                    readonly inputs: readonly [{
                        readonly name: "resource";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "roleBitmap";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "account";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InsufficientBalance";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "balance";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "needed";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidApprover";
                    readonly inputs: readonly [{
                        readonly name: "approver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidArrayLength";
                    readonly inputs: readonly [{
                        readonly name: "idsLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "valuesLength";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidOperator";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidReceiver";
                    readonly inputs: readonly [{
                        readonly name: "receiver";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155InvalidSender";
                    readonly inputs: readonly [{
                        readonly name: "sender";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "ERC1155MissingApprovalForAll";
                    readonly inputs: readonly [{
                        readonly name: "operator";
                        readonly type: "address";
                        readonly internalType: "address";
                    }, {
                        readonly name: "owner";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyRegistered";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelAlreadyReserved";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelExpired";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsEmpty";
                    readonly inputs: readonly [];
                }, {
                    readonly type: "error";
                    readonly name: "LabelIsTooLong";
                    readonly inputs: readonly [{
                        readonly name: "label";
                        readonly type: "string";
                        readonly internalType: "string";
                    }];
                }, {
                    readonly type: "error";
                    readonly name: "TransferDisallowed";
                    readonly inputs: readonly [{
                        readonly name: "tokenId";
                        readonly type: "uint256";
                        readonly internalType: "uint256";
                    }, {
                        readonly name: "from";
                        readonly type: "address";
                        readonly internalType: "address";
                    }];
                }];
                address: "0x64c81210d0e580cfc7746f3fb910bf0e8f6378e1";
                startBlock: number;
            };
            ETHRegistrar: {
                abi: readonly [{
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner_";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IHCAFactoryBasic";
                        readonly name: "hcaFactory";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IPermissionedRegistry";
                        readonly name: "ethRegistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "beneficiary";
                        readonly type: "address";
                    }, {
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "gracePeriod";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minCommitmentAge";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "maxCommitmentAge";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minRegisterDuration";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "constructor";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "validFrom";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "blockTimestamp";
                        readonly type: "uint64";
                    }];
                    readonly name: "CommitmentTooNew";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "validTo";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "blockTimestamp";
                        readonly type: "uint64";
                    }];
                    readonly name: "CommitmentTooOld";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "minDuration";
                        readonly type: "uint64";
                    }];
                    readonly name: "DurationTooShort";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "InvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MaxCommitmentAgeTooLow";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotAvailable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "NameNotRenewable";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableInvalidOwner";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }];
                    readonly name: "OwnableUnauthorizedAccount";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "token";
                        readonly type: "address";
                    }];
                    readonly name: "SafeERC20FailedOperation";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "UnexpiredCommitmentExists";
                    readonly type: "error";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "CommitmentMade";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRegistered";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newExpiry";
                        readonly type: "uint64";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "amount";
                        readonly type: "uint256";
                    }];
                    readonly name: "NameRenewed";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "previousOwner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "OwnershipTransferred";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "RentPriceOracleUpdated";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "BENEFICIARY";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "ETH_REGISTRY";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IPermissionedRegistry";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "GRACE_PERIOD";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "HCA_FACTORY";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IHCAFactoryBasic";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MAX_COMMITMENT_AGE";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_COMMITMENT_AGE";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_REGISTER_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "MIN_RENEW_DURATION";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commit";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "commitment";
                        readonly type: "bytes32";
                    }];
                    readonly name: "commitmentAt";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "commitTime";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "getRegisterPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "rentPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "base";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "premium";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "getRemainingGracePeriod";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }];
                    readonly name: "getRenewPrice";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "isAvailable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }];
                    readonly name: "isRenewable";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "makeCommitment";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "owner";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "secret";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "contract IRegistry";
                        readonly name: "subregistry";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "resolver";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "register";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenId";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "label";
                        readonly type: "string";
                    }, {
                        readonly internalType: "uint64";
                        readonly name: "duration";
                        readonly type: "uint64";
                    }, {
                        readonly internalType: "contract IERC20";
                        readonly name: "paymentToken";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "referrer";
                        readonly type: "bytes32";
                    }];
                    readonly name: "renew";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "renounceOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "rentPriceOracle";
                    readonly outputs: readonly [{
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "contract IRentPriceOracle";
                        readonly name: "oracle";
                        readonly type: "address";
                    }];
                    readonly name: "setRentPriceOracle";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "newOwner";
                        readonly type: "address";
                    }];
                    readonly name: "transferOwnership";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }];
                address: "0xb68e594a47fe057bd31e7a8229ffcfd85b2e28af";
                startBlock: number;
            };
        };
    };
    rrRoot: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.etherscan.io";
                    readonly apiUrl: "https://api-sepolia.etherscan.io/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 751532;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
                    readonly blockCreated: 8928790;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155111;
            name: "Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            DefaultReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x26997c9d0f3dcbae3f78c69e621a3926ee30bb98";
                startBlock: number;
            };
            DefaultPublicResolver5: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xb441cb480460eb8b2964dcb82b64a883b14abf3e";
                startBlock: number;
            };
            BaseReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xaf3b3f636be80b6709f5bd3a374d6ac0d0a7c7aa";
                startBlock: number;
            };
            LineaReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x083da1dbc0f379ccda6ac81a934207c3d8a8a205";
                startBlock: number;
            };
            OptimismReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0xc9ae189772bd48e01410ab3be933637ee9d3aa5f";
                startBlock: number;
            };
            ArbitrumReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x926f94d2adc77c86cb0050892097d49aadd02e8b";
                startBlock: number;
            };
            ScrollReverseResolver: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABIChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "AddrChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "newAddress";
                        readonly type: "bytes";
                    }];
                    readonly name: "AddressChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "AuthorisationChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "ContenthashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "record";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSRecordChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "DNSRecordDeleted";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "DNSZoneCleared";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "InterfaceChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "PubkeyChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentTypes";
                        readonly type: "uint256";
                    }];
                    readonly name: "ABI";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "address payable";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }];
                    readonly name: "addr";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly name: "authorisations";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearDNSZone";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "contenthash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint16";
                        readonly name: "resource";
                        readonly type: "uint16";
                    }];
                    readonly name: "dnsRecord";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "name";
                        readonly type: "bytes32";
                    }];
                    readonly name: "hasDNSRecords";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "interfaceImplementer";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicall";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "name";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "pubkey";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "contentType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setABI";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "coinType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "a";
                        readonly type: "bytes";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "a";
                        readonly type: "address";
                    }];
                    readonly name: "setAddr";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "target";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "isAuthorised";
                        readonly type: "bool";
                    }];
                    readonly name: "setAuthorisation";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setContenthash";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "setDNSRecords";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }, {
                        readonly internalType: "address";
                        readonly name: "implementer";
                        readonly type: "address";
                    }];
                    readonly name: "setInterface";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "x";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "y";
                        readonly type: "bytes32";
                    }];
                    readonly name: "setPubkey";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: false;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "setText";
                    readonly outputs: readonly [];
                    readonly payable: false;
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "pure";
                    readonly type: "function";
                }, {
                    readonly constant: true;
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }];
                    readonly name: "text";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "";
                        readonly type: "string";
                    }];
                    readonly payable: false;
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "ApprovalForAll";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: false;
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "Approved";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "lastzonehash";
                        readonly type: "bytes";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "bytes";
                        readonly name: "zonehash";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSZonehashChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: true;
                        readonly internalType: "string";
                        readonly name: "indexedKey";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "key";
                        readonly type: "string";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "value";
                        readonly type: "string";
                    }];
                    readonly name: "TextChanged";
                    readonly type: "event";
                }, {
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "uint64";
                        readonly name: "newVersion";
                        readonly type: "uint64";
                    }];
                    readonly name: "VersionChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "approve";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "clearRecords";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "owner";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "delegate";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedFor";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "account";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }];
                    readonly name: "isApprovedForAll";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "nodehash";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "data";
                        readonly type: "bytes[]";
                    }];
                    readonly name: "multicallWithNodeCheck";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes[]";
                        readonly name: "results";
                        readonly type: "bytes[]";
                    }];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "";
                        readonly type: "bytes32";
                    }];
                    readonly name: "recordVersions";
                    readonly outputs: readonly [{
                        readonly internalType: "uint64";
                        readonly name: "";
                        readonly type: "uint64";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "operator";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "approved";
                        readonly type: "bool";
                    }];
                    readonly name: "setApprovalForAll";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "string";
                        readonly name: "newName";
                        readonly type: "string";
                    }];
                    readonly name: "setName";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "hash";
                        readonly type: "bytes";
                    }];
                    readonly name: "setZonehash";
                    readonly outputs: readonly [];
                    readonly stateMutability: "nonpayable";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "node";
                        readonly type: "bytes32";
                    }];
                    readonly name: "zonehash";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly type: "event";
                    readonly name: "DNSRecordChanged";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "name";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }, {
                        readonly name: "resource";
                        readonly type: "uint16";
                        readonly indexed: false;
                        readonly internalType: "uint16";
                    }, {
                        readonly name: "ttl";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }, {
                        readonly name: "record";
                        readonly type: "bytes";
                        readonly indexed: false;
                        readonly internalType: "bytes";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "DNSZoneUpdated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "serial";
                        readonly type: "uint32";
                        readonly indexed: false;
                        readonly internalType: "uint32";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly type: "event";
                    readonly name: "ZoneCreated";
                    readonly inputs: readonly [{
                        readonly name: "node";
                        readonly type: "bytes32";
                        readonly indexed: true;
                        readonly internalType: "bytes32";
                    }, {
                        readonly name: "version";
                        readonly type: "uint64";
                        readonly indexed: true;
                        readonly internalType: "uint64";
                    }];
                    readonly anonymous: false;
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "dns";
                        readonly type: "bytes";
                    }];
                    readonly name: "DNSDecodingFailed";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }];
                    readonly name: "UnreachableName";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "selector";
                        readonly type: "bytes4";
                    }];
                    readonly name: "UnsupportedResolverProfile";
                    readonly type: "error";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainId";
                    readonly outputs: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "";
                        readonly type: "uint32";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "chainRegistrar";
                    readonly outputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "";
                        readonly type: "address";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [];
                    readonly name: "coinType";
                    readonly outputs: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "";
                        readonly type: "uint256";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "name";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "data";
                        readonly type: "bytes";
                    }];
                    readonly name: "resolve";
                    readonly outputs: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "result";
                        readonly type: "bytes";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address[]";
                        readonly name: "addrs";
                        readonly type: "address[]";
                    }];
                    readonly name: "resolveNames";
                    readonly outputs: readonly [{
                        readonly internalType: "string[]";
                        readonly name: "names";
                        readonly type: "string[]";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceId";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x9fa59673e43f15bdb8722fdaf5c2107574b99062";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Base Sepolia.
     */
    rrBase: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Basescan";
                    readonly url: "https://sepolia.basescan.org";
                    readonly apiUrl: "https://api-sepolia.basescan.org/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 11155111: {
                        readonly address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 11155111: {
                        readonly address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254";
                    };
                };
                readonly portal: {
                    readonly 11155111: {
                        readonly address: "0x49f53e41452c74589e85ca1677426ba426459e85";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly l1StandardBridge: {
                    readonly 11155111: {
                        readonly address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120";
                        readonly blockCreated: 4446677;
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 1059647;
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 84532;
            name: "Base Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia.base.org"];
                };
            };
            sourceId: 11155111;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
            readonly network: "base-sepolia";
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Optimism Sepolia.
     */
    rrOptimism: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Blockscout";
                    readonly url: "https://optimism-sepolia.blockscout.com";
                    readonly apiUrl: "https://optimism-sepolia.blockscout.com/api";
                };
            };
            blockTime: 2000;
            contracts: {
                readonly disputeGameFactory: {
                    readonly 11155111: {
                        readonly address: "0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1";
                    };
                };
                readonly l2OutputOracle: {
                    readonly 11155111: {
                        readonly address: "0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F";
                    };
                };
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 1620204;
                };
                readonly portal: {
                    readonly 11155111: {
                        readonly address: "0x16Fc5058F25648194471939df75CF27A2fdC48BC";
                    };
                };
                readonly l1StandardBridge: {
                    readonly 11155111: {
                        readonly address: "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1";
                    };
                };
                readonly gasPriceOracle: {
                    readonly address: "0x420000000000000000000000000000000000000F";
                };
                readonly l1Block: {
                    readonly address: "0x4200000000000000000000000000000000000015";
                };
                readonly l2CrossDomainMessenger: {
                    readonly address: "0x4200000000000000000000000000000000000007";
                };
                readonly l2Erc721Bridge: {
                    readonly address: "0x4200000000000000000000000000000000000014";
                };
                readonly l2StandardBridge: {
                    readonly address: "0x4200000000000000000000000000000000000010";
                };
                readonly l2ToL1MessagePasser: {
                    readonly address: "0x4200000000000000000000000000000000000016";
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 11155420;
            name: "OP Sepolia";
            nativeCurrency: {
                readonly name: "Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia.optimism.io"];
                };
            };
            sourceId: 11155111;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters: {
                readonly block: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcBlock, action?: string | undefined) => {
                        baseFeePerGas: bigint | null;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: viem.Hex;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: `0x${string}` | null;
                        logsBloom: `0x${string}` | null;
                        miner: viem.Address;
                        mixHash: viem.Hash;
                        nonce: `0x${string}` | null;
                        number: bigint | null;
                        parentBeaconBlockRoot?: `0x${string}` | undefined;
                        parentHash: viem.Hash;
                        receiptsRoot: viem.Hex;
                        sealFields: viem.Hex[];
                        sha3Uncles: viem.Hash;
                        size: bigint;
                        stateRoot: viem.Hash;
                        timestamp: bigint;
                        totalDifficulty: bigint | null;
                        transactions: `0x${string}`[] | viem_chains.OpStackTransaction<boolean>[];
                        transactionsRoot: viem.Hash;
                        uncles: viem.Hash[];
                        withdrawals?: viem.Withdrawal[] | undefined | undefined;
                        withdrawalsRoot?: `0x${string}` | undefined;
                    } & {};
                    type: "block";
                };
                readonly transaction: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransaction, action?: string | undefined) => ({
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: boolean;
                        mint?: bigint | undefined | undefined;
                        sourceHash: viem.Hex;
                        type: "deposit";
                    } | {
                        r: viem.Hex;
                        s: viem.Hex;
                        v: bigint;
                        to: viem.Address | null;
                        from: viem.Address;
                        gas: bigint;
                        nonce: number;
                        value: bigint;
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        hash: viem.Hash;
                        input: viem.Hex;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        accessList?: undefined | undefined;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId?: number | undefined;
                        yParity?: undefined | undefined;
                        type: "legacy";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip2930";
                        gasPrice: bigint;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas?: undefined | undefined;
                        maxPriorityFeePerGas?: undefined | undefined;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip1559";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList?: undefined | undefined;
                        blobVersionedHashes: readonly viem.Hex[];
                        chainId: number;
                        type: "eip4844";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    } | {
                        blockHash: `0x${string}` | null;
                        blockNumber: bigint | null;
                        blockTimestamp?: bigint | undefined;
                        from: viem.Address;
                        gas: bigint;
                        hash: viem.Hash;
                        input: viem.Hex;
                        nonce: number;
                        r: viem.Hex;
                        s: viem.Hex;
                        to: viem.Address | null;
                        transactionIndex: number | null;
                        typeHex: viem.Hex | null;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                        accessList: viem.AccessList;
                        authorizationList: viem.SignedAuthorizationList;
                        blobVersionedHashes?: undefined | undefined;
                        chainId: number;
                        type: "eip7702";
                        gasPrice?: undefined | undefined;
                        maxFeePerBlobGas?: undefined | undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        isSystemTx?: undefined | undefined;
                        mint?: undefined | undefined;
                        sourceHash?: undefined | undefined;
                    }) & {};
                    type: "transaction";
                };
                readonly transactionReceipt: {
                    exclude: [] | undefined;
                    format: (args: viem_chains.OpStackRpcTransactionReceipt, action?: string | undefined) => {
                        blobGasPrice?: bigint | undefined;
                        blobGasUsed?: bigint | undefined;
                        blockHash: viem.Hash;
                        blockNumber: bigint;
                        blockTimestamp?: bigint | undefined;
                        contractAddress: viem.Address | null | undefined;
                        cumulativeGasUsed: bigint;
                        effectiveGasPrice: bigint;
                        from: viem.Address;
                        gasUsed: bigint;
                        logs: viem.Log<bigint, number, false>[];
                        logsBloom: viem.Hex;
                        root?: `0x${string}` | undefined;
                        status: "success" | "reverted";
                        to: viem.Address | null;
                        transactionHash: viem.Hash;
                        transactionIndex: number;
                        type: viem.TransactionType;
                        l1GasPrice: bigint | null;
                        l1GasUsed: bigint | null;
                        l1Fee: bigint | null;
                        l1FeeScalar: number | null;
                    } & {};
                    type: "transactionReceipt";
                };
            };
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers: {
                readonly transaction: typeof viem_chains.serializeTransactionOpStack;
            };
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Arbitrum Sepolia.
     */
    rrArbitrum: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Arbiscan";
                    readonly url: "https://sepolia.arbiscan.io";
                    readonly apiUrl: "https://api-sepolia.arbiscan.io/api";
                };
            };
            blockTime: 250;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 81930;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 421614;
            name: "Arbitrum Sepolia";
            nativeCurrency: {
                readonly name: "Arbitrum Sepolia Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia-rollup.arbitrum.io/rpc"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Scroll Sepolia.
     */
    rrScroll: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Scrollscan";
                    readonly url: "https://sepolia.scrollscan.com";
                    readonly apiUrl: "https://api-sepolia.scrollscan.com/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 9473;
                };
            };
            ensTlds?: readonly string[] | undefined;
            id: 534351;
            name: "Scroll Sepolia";
            nativeCurrency: {
                readonly name: "Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://sepolia-rpc.scroll.io"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees?: viem.ChainFees<undefined> | undefined;
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
    /**
     * Contracts that power Reverse Resolution on Linea Sepolia.
     */
    rrLinea: {
        chain: {
            blockExplorers: {
                readonly default: {
                    readonly name: "Etherscan";
                    readonly url: "https://sepolia.lineascan.build";
                    readonly apiUrl: "https://api-sepolia.lineascan.build/api";
                };
            };
            blockTime?: number | undefined | undefined;
            contracts: {
                readonly multicall3: {
                    readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
                    readonly blockCreated: 227427;
                };
                readonly ensRegistry: {
                    readonly address: "0x5B2636F0f2137B4aE722C01dd5122D7d3e9541f7";
                    readonly blockCreated: 2395094;
                };
                readonly ensUniversalResolver: {
                    readonly address: "0x4D41762915F83c76EcaF6776d9b08076aA32b492";
                    readonly blockCreated: 17168484;
                };
            };
            ensTlds: readonly [".linea.eth"];
            id: 59141;
            name: "Linea Sepolia Testnet";
            nativeCurrency: {
                readonly name: "Linea Ether";
                readonly symbol: "ETH";
                readonly decimals: 18;
            };
            experimental_preconfirmationTime?: number | undefined | undefined;
            rpcUrls: {
                readonly default: {
                    readonly http: readonly ["https://rpc.sepolia.linea.build"];
                    readonly webSocket: readonly ["wss://rpc.sepolia.linea.build"];
                };
            };
            sourceId?: number | undefined | undefined;
            testnet: true;
            custom?: Record<string, unknown> | undefined;
            extendSchema?: Record<string, unknown> | undefined;
            fees: {
                readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<viem.ChainEstimateFeesPerGasFn>[0]) => ReturnType<viem.ChainEstimateFeesPerGasFn>;
                readonly maxPriorityFeePerGas: ({ block, client, request }: viem.ChainFeesFnParameters<viem.ChainFormatters | undefined>) => Promise<bigint | null>;
            };
            formatters?: undefined;
            prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
                phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
            }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
                runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
            }] | undefined;
            serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
            verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
        };
        contracts: {
            L2ReverseRegistrar: {
                abi: readonly [{
                    readonly anonymous: false;
                    readonly inputs: readonly [{
                        readonly indexed: true;
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }, {
                        readonly indexed: false;
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly name: "NameForAddrChanged";
                    readonly type: "event";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "address";
                        readonly name: "addr";
                        readonly type: "address";
                    }];
                    readonly name: "nameForAddr";
                    readonly outputs: readonly [{
                        readonly internalType: "string";
                        readonly name: "name";
                        readonly type: "string";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }, {
                    readonly inputs: readonly [{
                        readonly internalType: "bytes4";
                        readonly name: "interfaceID";
                        readonly type: "bytes4";
                    }];
                    readonly name: "supportsInterface";
                    readonly outputs: readonly [{
                        readonly internalType: "bool";
                        readonly name: "";
                        readonly type: "bool";
                    }];
                    readonly stateMutability: "view";
                    readonly type: "function";
                }];
                address: "0x00000beef055f7934784d6d81b6bc86665630dba";
                startBlock: number;
            };
        };
    };
};

declare const ENSNamespacesById: {
    readonly mainnet: typeof _default$2;
    readonly sepolia: typeof _default$1;
    readonly "sepolia-v2": typeof _default;
    readonly "ens-test-env": typeof _default$3;
};
/**
 * Returns the ENSNamespace for a specified `namespaceId`.
 *
 * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
 * @returns the ENSNamespace
 */
declare const getENSNamespace: <N extends ENSNamespaceId>(namespaceId: N) => (typeof ENSNamespacesById)[N];
/**
 * Returns the `datasourceName` Datasource within the specified `namespaceId` namespace.
 *
 * NOTE: the typescript typechecker _will_ enforce validity. i.e. using an invalid `datasourceName`
 * within the specified `namespaceId` will be a type error.
 *
 * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
 * @param datasourceName - The name of the Datasource to retrieve
 * @returns The Datasource object for the given name within the specified namespace
 */
declare const getDatasource: <N extends ENSNamespaceId, D extends keyof ReturnType<typeof getENSNamespace<N>>>(namespaceId: N, datasourceName: D) => {
    readonly mainnet: typeof _default$2;
    readonly sepolia: typeof _default$1;
    readonly "sepolia-v2": typeof _default;
    readonly "ens-test-env": typeof _default$3;
}[N][D];
/**
 * Returns the `datasourceName` Datasource within the specified `namespaceId` namespace, or undefined
 * if it does not exist.
 *
 * This is useful when you want to retrieve a Datasource from an arbitrary namespace where it may
 * or may not actually be defined. For example, if using {@link getDatasource}, with a
 * `namespaceId: ENSNamespaceId`, the typechecker will enforce that the only valid `datasourceName`
 * is ENSRoot (the only Datasource present in all namespaces). This method allows you to receive
 * the const Datasource or undefined for a specified `datasourceName`.
 *
 * @param namespaceId - The ENSNamespace identifier (e.g. 'mainnet', 'sepolia', 'ens-test-env')
 * @param datasourceName - The name of the Datasource to retrieve
 * @returns The Datasource object for the given name within the specified namespace, or undefined if it does not exist
 */
declare const maybeGetDatasource: <N extends ENSNamespaceId, D extends DatasourceName = DatasourceName>(namespaceId: N, datasourceName: D) => ExtractDatasourceType<ReturnType<typeof getENSNamespace<N>>, D> | undefined;
/**
 * Returns the chain for the ENS Root Datasource within the selected namespace.
 *
 * @returns the chain that hosts the ENS Root
 */
declare const getENSRootChain: (namespaceId: ENSNamespaceId) => {
    readonly id: 31337;
    readonly name: "ens-test-env";
    readonly blockExplorers?: {
        [key: string]: {
            name: string;
            url: string;
            apiUrl?: string | undefined;
        };
        default: {
            name: string;
            url: string;
            apiUrl?: string | undefined;
        };
    } | undefined | undefined;
    readonly blockTime?: number | undefined | undefined;
    readonly contracts?: {
        [x: string]: viem.ChainContract | {
            [sourceId: number]: viem.ChainContract | undefined;
        } | undefined;
        ensRegistry?: viem.ChainContract | undefined;
        ensUniversalResolver?: viem.ChainContract | undefined;
        multicall3?: viem.ChainContract | undefined;
        erc6492Verifier?: viem.ChainContract | undefined;
    } | undefined;
    readonly ensTlds?: readonly string[] | undefined;
    readonly nativeCurrency: {
        readonly decimals: 18;
        readonly name: "Ether";
        readonly symbol: "ETH";
    };
    readonly experimental_preconfirmationTime?: number | undefined | undefined;
    readonly rpcUrls: {
        readonly default: {
            readonly http: readonly ["http://127.0.0.1:8545"];
            readonly webSocket: readonly ["ws://127.0.0.1:8545"];
        };
    };
    readonly sourceId?: number | undefined | undefined;
    readonly testnet?: boolean | undefined | undefined;
    readonly custom?: Record<string, unknown> | undefined;
    readonly extendSchema?: Record<string, unknown> | undefined;
    readonly fees?: viem.ChainFees<undefined> | undefined;
    readonly formatters?: undefined;
    readonly prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
        runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
    }] | undefined;
    readonly serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
    readonly verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
} | {
    blockExplorers: {
        readonly default: {
            readonly name: "Etherscan";
            readonly url: "https://etherscan.io";
            readonly apiUrl: "https://api.etherscan.io/api";
        };
    };
    blockTime: 12000;
    contracts: {
        readonly ensUniversalResolver: {
            readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
            readonly blockCreated: 23085558;
        };
        readonly multicall3: {
            readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
            readonly blockCreated: 14353601;
        };
    };
    ensTlds?: readonly string[] | undefined;
    id: 1;
    name: "Ethereum";
    nativeCurrency: {
        readonly name: "Ether";
        readonly symbol: "ETH";
        readonly decimals: 18;
    };
    experimental_preconfirmationTime?: number | undefined | undefined;
    rpcUrls: {
        readonly default: {
            readonly http: readonly ["https://eth.merkle.io"];
        };
    };
    sourceId?: number | undefined | undefined;
    testnet?: boolean | undefined | undefined;
    custom?: Record<string, unknown> | undefined;
    extendSchema?: Record<string, unknown> | undefined;
    fees?: viem.ChainFees<undefined> | undefined;
    formatters?: undefined;
    prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
        runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
    }] | undefined;
    serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
    verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
} | {
    blockExplorers: {
        readonly default: {
            readonly name: "Etherscan";
            readonly url: "https://sepolia.etherscan.io";
            readonly apiUrl: "https://api-sepolia.etherscan.io/api";
        };
    };
    blockTime?: number | undefined | undefined;
    contracts: {
        readonly multicall3: {
            readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
            readonly blockCreated: 751532;
        };
        readonly ensUniversalResolver: {
            readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
            readonly blockCreated: 8928790;
        };
    };
    ensTlds?: readonly string[] | undefined;
    id: 11155111;
    name: "Sepolia";
    nativeCurrency: {
        readonly name: "Sepolia Ether";
        readonly symbol: "ETH";
        readonly decimals: 18;
    };
    experimental_preconfirmationTime?: number | undefined | undefined;
    rpcUrls: {
        readonly default: {
            readonly http: readonly ["https://11155111.rpc.thirdweb.com"];
        };
    };
    sourceId?: number | undefined | undefined;
    testnet: true;
    custom?: Record<string, unknown> | undefined;
    extendSchema?: Record<string, unknown> | undefined;
    fees?: viem.ChainFees<undefined> | undefined;
    formatters?: undefined;
    prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
        phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
    }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
        runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
    }] | undefined;
    serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
    verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
};
/**
 * Returns the chain id for the ENS Root Datasource within the selected namespace.
 *
 * @returns the chain ID that hosts the ENS Root
 */
declare const getENSRootChainId: (namespaceId: ENSNamespaceId) => 1 | 31337 | 11155111;

export { AnyRegistrarABI, AnyRegistrarControllerABI, BaseRegistrar as BaseRegistrarABI, type ContractConfig, type Datasource, type DatasourceContractMatch, type DatasourceIdentifyQuery, type DatasourceName, DatasourceNames, type ENSNamespace, type ENSNamespaceId, ENSNamespaceIds, Registry as ENSv1RegistryABI, ETHRegistrar as ETHRegistrarABI, EnhancedAccessControl as EnhancedAccessControlABI, type EventFilter, type ExtractDatasourceType, L2ReverseRegistrar as L2ReverseRegistrarABI, LegacyEthRegistrarController as LegacyEthRegistrarControllerABI, MockToken as MockTokenABI, NameWrapper as NameWrapperABI, Registry$1 as RegistryABI, ResolverABI, StandaloneReverseRegistrar as StandaloneReverseRegistrarABI, ThreeDNSToken as ThreeDNSTokenABI, UniversalResolverABI, UpgradeableProxy as UpgradeableProxyABI, UserRegistry as UserRegistryABI, VerifiableFactory as VerifiableFactoryABI, WrappedEthRegistrarController as WrappedEthRegistrarControllerABI, ensTestEnvChain, getDatasource, getENSNamespace, getENSRootChain, getENSRootChainId, identifyDatasourceContracts, maybeGetDatasource };
