UNPKG

@lit-protocol/contracts

Version:

All configs are in the `./src/config` directory

9,744 lines 418 kB
export declare const datilTest: {
    readonly data: readonly [{
        readonly name: "StakingBalances";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xCa3c64e7D8cA743aeD2B2d20DCA3233f400710E2";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "ActiveValidatorsCannotLeave";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "AliasNotOwnedBySender";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "CannotRemoveAliasOfActiveValidator";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CannotStakeZero";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CannotWithdrawZero";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "aliasCount";
                    readonly type: "uint256";
                }];
                readonly name: "MaxAliasCountReached";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "OnlyStakingContract";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amountStaked";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "minimumStake";
                    readonly type: "uint256";
                }];
                readonly name: "StakeMustBeGreaterThanMinimumStake";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amountStaked";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "maximumStake";
                    readonly type: "uint256";
                }];
                readonly name: "StakeMustBeLessThanMaximumStake";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "StakerNotPermitted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "yourBalance";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "requestedWithdrawlAmount";
                    readonly type: "uint256";
                }];
                readonly name: "TryingToWithdrawMoreThanStaked";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "AliasAdded";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "AliasRemoved";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMaxAliasCount";
                    readonly type: "uint256";
                }];
                readonly name: "MaxAliasCountSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMaximumStake";
                    readonly type: "uint256";
                }];
                readonly name: "MaximumStakeSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMinimumStake";
                    readonly type: "uint256";
                }];
                readonly name: "MinimumStakeSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "PermittedStakerAdded";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "PermittedStakerRemoved";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "bool";
                    readonly name: "permittedStakersOn";
                    readonly type: "bool";
                }];
                readonly name: "PermittedStakersOnChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "ResolverContractAddressSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "reward";
                    readonly type: "uint256";
                }];
                readonly name: "RewardPaid";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "Staked";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newTokenRewardPerTokenPerEpoch";
                    readonly type: "uint256";
                }];
                readonly name: "TokenRewardPerTokenPerEpochSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "ValidatorNotRewardedBecauseAlias";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "ValidatorRewarded";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "ValidatorTokensPenalized";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "Withdrawn";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "addAlias";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "addPermittedStaker";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "stakers";
                    readonly type: "address[]";
                }];
                readonly name: "addPermittedStakers";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "account";
                    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 internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "checkStakingAmounts";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "contractResolver";
                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: "account";
                    readonly type: "address";
                }];
                readonly name: "getReward";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getStakingAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getTokenAddress";
                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: "staker";
                    readonly type: "address";
                }];
                readonly name: "isPermittedStaker";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "maximumStake";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "minimumStake";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "penalizeTokens";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "permittedStakersOn";
                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: "aliasAccount";
                    readonly type: "address";
                }];
                readonly name: "removeAlias";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "removePermittedStaker";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "balance";
                    readonly type: "uint256";
                }];
                readonly name: "restakePenaltyTokens";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "rewardOf";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "rewardValidator";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMaxAliasCount";
                    readonly type: "uint256";
                }];
                readonly name: "setMaxAliasCount";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMaximumStake";
                    readonly type: "uint256";
                }];
                readonly name: "setMaximumStake";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMinimumStake";
                    readonly type: "uint256";
                }];
                readonly name: "setMinimumStake";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "permitted";
                    readonly type: "bool";
                }];
                readonly name: "setPermittedStakersOn";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "stake";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "stakeForValidator";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "totalStaked";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "balance";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "recipient";
                    readonly type: "address";
                }];
                readonly name: "transferPenaltyTokens";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "balance";
                    readonly type: "uint256";
                }];
                readonly name: "withdrawPenaltyTokens";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "Staking";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xdec37933239846834b3BfD408913Ed3dbEf6588F";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwnerOrDevopsAdmin";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInActiveOrUnlockedOrPausedState";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInNextValidatorSetLockedOrReadyForNextEpochState";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "dataType";
                    readonly type: "uint256";
                }];
                readonly name: "ClearOfflinePhaseData";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tolerance";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "intervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "kickPenaltyPercent";
                        readonly type: "uint256";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct LibStakingStorage.ComplaintConfig";
                    readonly name: "config";
                    readonly type: "tuple";
                }];
                readonly name: "ComplaintConfigSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newTokenRewardPerTokenPerEpoch";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256[]";
                    readonly name: "newKeyTypes";
                    readonly type: "uint256[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMinimumValidatorCount";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMaxConcurrentRequests";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMaxTripleCount";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMinTripleCount";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newPeerCheckingIntervalSecs";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMaxTripleConcurrency";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bool";
                    readonly name: "newRpcHealthcheckEnabled";
                    readonly type: "bool";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "timeoutMs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "memoryLimitMb";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxCodeLength";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxResponseLength";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxFetchCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxSignCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxContractCallCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxBroadcastAndCollectCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxCallDepth";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxRetries";
                        readonly type: "uint256";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct LibStakingStorage.LitActionConfig";
                    readonly name: "newLitActionConfig";
                    readonly type: "tuple";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bool";
                    readonly name: "newHeliosEnabled";
                    readonly type: "bool";
                }];
                readonly name: "ConfigSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "dataType";
                    readonly type: "uint256";
                }];
                readonly name: "CountOfflinePhaseData";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newDevopsAdmin";
                    readonly type: "address";
                }];
                readonly name: "DevopsAdminSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newEpochEndTime";
                    readonly type: "uint256";
                }];
                readonly name: "EpochEndTimeSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newEpochLength";
                    readonly type: "uint256";
                }];
                readonly name: "EpochLengthSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newEpochTimeout";
                    readonly type: "uint256";
                }];
                readonly name: "EpochTimeoutSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newKickPenaltyPercent";
                    readonly type: "uint256";
                }];
                readonly name: "KickPenaltyPercentSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newResolverContractAddress";
                    readonly type: "address";
                }];
                readonly name: "ResolverContractAddressSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newStakingTokenAddress";
                    readonly type: "address";
                }];
                readonly name: "StakingTokenSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "ValidatorRejoinedNextEpoch";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "validatorStakerAddress";
                    readonly type: "address";
                }];
                readonly name: "adminKickValidatorInNextEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "adminRejoinValidator";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "adminResetEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "validatorStakerAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amountToPenalize";
                    readonly type: "uint256";
                }];
                readonly name: "adminSlashValidator";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "adminStakeForValidator";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "dataType";
                    readonly type: "uint256";
                }];
                readonly name: "emitClearOfflinePhaseData";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "dataType";
                    readonly type: "uint256";
                }];
                readonly name: "emitCountOfflinePhaseData";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tolerance";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "intervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "kickPenaltyPercent";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.ComplaintConfig";
                    readonly name: "config";
                    readonly type: "tuple";
                }];
                readonly name: "setComplaintConfig";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenRewardPerTokenPerEpoch";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "DEPRECATED_complaintTolerance";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "DEPRECATED_complaintIntervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "keyTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumValidatorCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxConcurrentRequests";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxTripleCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minTripleCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "peerCheckingIntervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxTripleConcurrency";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "rpcHealthcheckEnabled";
                        readonly type: "bool";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "timeoutMs";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "memoryLimitMb";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxCodeLength";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxResponseLength";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxFetchCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxSignCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxContractCallCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxBroadcastAndCollectCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxCallDepth";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxRetries";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct LibStakingStorage.LitActionConfig";
                        readonly name: "litActionConfig";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "heliosEnabled";
                        readonly type: "bool";
                    }];
                    readonly internalType: "struct LibStakingStorage.Config";
                    readonly name: "newConfig";
                    readonly type: "tuple";
                }];
                readonly name: "setConfig";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newDevopsAdmin";
                    readonly type: "address";
                }];
                readonly name: "setDevopsAdmin";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newEpochEndTime";
                    readonly type: "uint256";
                }];
                readonly name: "setEpochEndTime";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newEpochLength";
                    readonly type: "uint256";
                }];
                readonly name: "setEpochLength";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "newState";
                    readonly type: "uint8";
                }];
                readonly name: "setEpochState";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newEpochTimeout";
                    readonly type: "uint256";
                }];
                readonly name: "setEpochTimeout";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "newKickPenaltyPercent";
                    readonly type: "uint256";
                }];
                readonly name: "setKickPenaltyPercent";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "ActiveValidatorsCannotLeave";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CannotKickBelowCurrentValidatorThreshold";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakingAddress";
                    readonly type: "address";
                }];
                readonly name: "CannotRejoinUntilNextEpochBecauseKicked";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "senderPubKey";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "receiverPubKey";
                    readonly type: "uint256";
                }];
                readonly name: "CannotReuseCommsKeys";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CannotStakeZero";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "CannotVoteTwice";
                readonly type: "error";
            }, {
                readonly inputs: readonly [];
                readonly name: "CannotWithdrawZero";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "nodeAddress";
                    readonly type: "address";
                }];
                readonly name: "CouldNotMapNodeAddressToStakerAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInActiveOrUnlockedState";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInNextValidatorSetLockedOrReadyForNextEpochOrRestoreState";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInNextValidatorSetLockedState";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "state";
                    readonly type: "uint8";
                }];
                readonly name: "MustBeInReadyForNextEpochState";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "MustBeValidatorInNextEpochToKick";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "currentTimestamp";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "epochEndTime";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "timeout";
                    readonly type: "uint256";
                }];
                readonly name: "NotEnoughTimeElapsedForTimeoutSinceLastEpoch";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "currentTimestamp";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "epochEndTime";
                    readonly type: "uint256";
                }];
                readonly name: "NotEnoughTimeElapsedSinceLastEpoch";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "validatorCount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "minimumValidatorCount";
                    readonly type: "uint256";
                }];
                readonly name: "NotEnoughValidatorsInNextEpoch";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "currentReadyValidatorCount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "nextReadyValidatorCount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "minimumValidatorCountToBeReady";
                    readonly type: "uint256";
                }];
                readonly name: "NotEnoughValidatorsReadyForNextEpoch";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "currentEpochNumber";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "receivedEpochNumber";
                    readonly type: "uint256";
                }];
                readonly name: "SignaledReadyForWrongEpochNumber";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "StakerNotPermitted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "yourBalance";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "requestedWithdrawlAmount";
                    readonly type: "uint256";
                }];
                readonly name: "TryingToWithdrawMoreThanStaked";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "validator";
                    readonly type: "address";
                }, {
                    readonly internalType: "address[]";
                    readonly name: "validatorsInNextEpoch";
                    readonly type: "address[]";
                }];
                readonly name: "ValidatorIsNotInNextEpoch";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "epochNumber";
                    readonly type: "uint256";
                }];
                readonly name: "ReadyForNextEpoch";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "token";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "Recovered";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "RequestToJoin";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }];
                readonly name: "RequestToLeave";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newDuration";
                    readonly type: "uint256";
                }];
                readonly name: "RewardsDurationUpdated";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "newState";
                    readonly type: "uint8";
                }];
                readonly name: "StateChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "staker";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amountBurned";
                    readonly type: "uint256";
                }];
                readonly name: "ValidatorKickedFromNextEpoch";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "reporter";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "validatorStakerAddress";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }];
                readonly name: "VotedToKickValidatorInNextEpoch";
                readonly type: "event";
            }, {
                readonly inputs: readonly [];
                readonly name: "advanceEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "exit";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getReward";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "validatorStakerAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "data";
                    readonly type: "bytes";
                }];
                readonly name: "kickValidatorInNextEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "lockValidatorsForNextEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint32";
                    readonly name: "ip";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "uint128";
                    readonly name: "ipv6";
                    readonly type: "uint128";
                }, {
                    readonly internalType: "uint32";
                    readonly name: "port";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "address";
                    readonly name: "nodeAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "senderPubKey";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "receiverPubKey";
                    readonly type: "uint256";
                }];
                readonly name: "requestToJoin";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "requestToLeave";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "requestToLeaveAsNode";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint32";
                    readonly name: "ip";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "uint128";
                    readonly name: "ipv6";
                    readonly type: "uint128";
                }, {
                    readonly internalType: "uint32";
                    readonly name: "port";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "address";
                    readonly name: "nodeAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "senderPubKey";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "receiverPubKey";
                    readonly type: "uint256";
                }];
                readonly name: "setIpPortNodeAddressAndCommunicationPubKeys";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "epochNumber";
                    readonly type: "uint256";
                }];
                readonly name: "signalReadyForNextEpoch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "stake";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint32";
                    readonly name: "ip";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "uint128";
                    readonly name: "ipv6";
                    readonly type: "uint128";
                }, {
                    readonly internalType: "uint32";
                    readonly name: "port";
                    readonly type: "uint32";
                }, {
                    readonly internalType: "address";
                    readonly name: "nodeAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "senderPubKey";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "receiverPubKey";
                    readonly type: "uint256";
                }];
                readonly name: "stakeAndJoin";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "index";
                    readonly type: "uint256";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "version";
                    readonly type: "tuple";
                }];
                readonly name: "VersionRequirementsUpdated";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "version";
                    readonly type: "tuple";
                }];
                readonly name: "checkVersion";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getMaxVersion";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getMaxVersionString";
                readonly outputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getMinVersion";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getMinVersionString";
                readonly outputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "version";
                    readonly type: "tuple";
                }];
                readonly name: "setMaxVersion";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "major";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minor";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "patch";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Version";
                    readonly name: "version";
                    readonly type: "tuple";
                }];
                readonly name: "setMinVersion";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }];
                readonly name: "complaintConfig";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tolerance";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "intervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "kickPenaltyPercent";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.ComplaintConfig";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "config";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "tokenRewardPerTokenPerEpoch";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "DEPRECATED_complaintTolerance";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "DEPRECATED_complaintIntervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "keyTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minimumValidatorCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxConcurrentRequests";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxTripleCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "minTripleCount";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "peerCheckingIntervalSecs";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "maxTripleConcurrency";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "rpcHealthcheckEnabled";
                        readonly type: "bool";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "uint256";
                            readonly name: "timeoutMs";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "memoryLimitMb";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxCodeLength";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxResponseLength";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxFetchCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxSignCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxContractCallCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxBroadcastAndCollectCount";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxCallDepth";
                            readonly type: "uint256";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "maxRetries";
                            readonly type: "uint256";
                        }];
                        readonly internalType: "struct LibStakingStorage.LitActionConfig";
                        readonly name: "litActionConfig";
                        readonly type: "tuple";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "heliosEnabled";
                        readonly type: "bool";
                    }];
                    readonly internalType: "struct LibStakingStorage.Config";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "contractResolver";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "countOfCurrentValidatorsReadyForNextEpoch";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "countOfNextValidatorsReadyForNextEpoch";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "currentValidatorCountForConsensus";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "epoch";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "epochLength";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "number";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "endTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "retries";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "timeout";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Epoch";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getActiveUnkickedValidatorStructs";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getActiveUnkickedValidatorStructsAndCounts";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "epochLength";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "number";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "endTime";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "retries";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "timeout";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Epoch";
                    readonly name: "";
                    readonly type: "tuple";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getActiveUnkickedValidators";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getKeyTypes";
                readonly outputs: readonly [{
                    readonly internalType: "uint256[]";
                    readonly name: "";
                    readonly type: "uint256[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getKickedValidators";
                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: "addresses";
                    readonly type: "address[]";
                }];
                readonly name: "getNodeStakerAddressMappings";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "address";
                        readonly name: "stakerAddress";
                        readonly type: "address";
                    }];
                    readonly internalType: "struct LibStakingStorage.AddressMapping[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getStakingBalancesAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getTokenAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getValidatorsInCurrentEpoch";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getValidatorsInCurrentEpochLength";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getValidatorsInNextEpoch";
                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: "addresses";
                    readonly type: "address[]";
                }];
                readonly name: "getValidatorsStructs";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getValidatorsStructsInCurrentEpoch";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getValidatorsStructsInNextEpoch";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "epochNumber";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "validatorStakerAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "voterStakerAddress";
                    readonly type: "address";
                }];
                readonly name: "getVotingStatusToKickValidator";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }, {
                    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 name: "isActiveValidator";
                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 name: "isActiveValidatorByNodeAddress";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "isReadyForNextEpoch";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "reason";
                    readonly type: "uint256";
                }];
                readonly name: "kickPenaltyPercentByReason";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "nextValidatorCountForConsensus";
                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: "nodeAddress";
                    readonly type: "address";
                }];
                readonly name: "nodeAddressToStakerAddress";
                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: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "readyForNextEpoch";
                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: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "shouldKickValidator";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "state";
                readonly outputs: readonly [{
                    readonly internalType: "enum LibStakingStorage.States";
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakerAddress";
                    readonly type: "address";
                }];
                readonly name: "validators";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "ip";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint128";
                        readonly name: "ipv6";
                        readonly type: "uint128";
                    }, {
                        readonly internalType: "uint32";
                        readonly name: "port";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "address";
                        readonly name: "nodeAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "reward";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "senderPubKey";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "receiverPubKey";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibStakingStorage.Validator";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "CloneNet";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x1f4233b6C5b84978c458FA66412E4ae6d0561104";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }];
                readonly name: "adminAddActiveStakingContract";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }];
                readonly name: "adminRemoveActiveStakingContract";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getActiveStakingContracts";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getAllActiveUnkickedValidatorStructsAndCounts";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "stakingContractAddress";
                        readonly type: "address";
                    }, {
                        readonly components: readonly [{
                            readonly components: readonly [{
                                readonly internalType: "uint256";
                                readonly name: "epochLength";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "number";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "endTime";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "retries";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "timeout";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct LibStakingStorage.Epoch";
                            readonly name: "epoch";
                            readonly type: "tuple";
                        }, {
                            readonly internalType: "uint256";
                            readonly name: "currentValidatorCountForConsensus";
                            readonly type: "uint256";
                        }, {
                            readonly components: readonly [{
                                readonly internalType: "uint32";
                                readonly name: "ip";
                                readonly type: "uint32";
                            }, {
                                readonly internalType: "uint128";
                                readonly name: "ipv6";
                                readonly type: "uint128";
                            }, {
                                readonly internalType: "uint32";
                                readonly name: "port";
                                readonly type: "uint32";
                            }, {
                                readonly internalType: "address";
                                readonly name: "nodeAddress";
                                readonly type: "address";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "reward";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "senderPubKey";
                                readonly type: "uint256";
                            }, {
                                readonly internalType: "uint256";
                                readonly name: "receiverPubKey";
                                readonly type: "uint256";
                            }];
                            readonly internalType: "struct LibStakingStorage.Validator[]";
                            readonly name: "activeUnkickedValidators";
                            readonly type: "tuple[]";
                        }];
                        readonly internalType: "struct LibStakingStorage.StakingAggregateDetails";
                        readonly name: "details";
                        readonly type: "tuple";
                    }];
                    readonly internalType: "struct LibStakingStorage.KeyedStakingAggregateDetails[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "numActiveStakingContracts";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "Multisender";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x8281f3A62f7de320B3a634e6814BeC36a1AA92bd";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                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: "owner";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                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: "_recipients";
                    readonly type: "address[]";
                }];
                readonly name: "sendEth";
                readonly outputs: readonly [];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "_recipients";
                    readonly type: "address[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "tokenContract";
                    readonly type: "address";
                }];
                readonly name: "sendTokens";
                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: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "tokenContract";
                    readonly type: "address";
                }];
                readonly name: "withdrawTokens";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "LITToken";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xFA1208f5275a01Be1b4A6F6764d388FDcF5Bf85e";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "cap";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "constructor";
            }, {
                readonly inputs: readonly [];
                readonly name: "InvalidShortString";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "str";
                    readonly type: "string";
                }];
                readonly name: "StringTooLong";
                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: "spender";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Approval";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "delegator";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "fromDelegate";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "toDelegate";
                    readonly type: "address";
                }];
                readonly name: "DelegateChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "delegate";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "previousBalance";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newBalance";
                    readonly type: "uint256";
                }];
                readonly name: "DelegateVotesChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [];
                readonly name: "EIP712DomainChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "Paused";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "previousAdminRole";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "newAdminRole";
                    readonly type: "bytes32";
                }];
                readonly name: "RoleAdminChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "RoleGranted";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "RoleRevoked";
                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: false;
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Transfer";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "Unpaused";
                readonly type: "event";
            }, {
                readonly inputs: readonly [];
                readonly name: "ADMIN_ROLE";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CLOCK_MODE";
                readonly outputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "DEFAULT_ADMIN_ROLE";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "DOMAIN_SEPARATOR";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "MINTER_ROLE";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "PAUSER_ROLE";
                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: "owner";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "spender";
                    readonly type: "address";
                }];
                readonly name: "allowance";
                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: "spender";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "approve";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "account";
                    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 internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "burn";
                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: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "burnFrom";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "cap";
                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: "account";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint32";
                    readonly name: "pos";
                    readonly type: "uint32";
                }];
                readonly name: "checkpoints";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint32";
                        readonly name: "fromBlock";
                        readonly type: "uint32";
                    }, {
                        readonly internalType: "uint224";
                        readonly name: "votes";
                        readonly type: "uint224";
                    }];
                    readonly internalType: "struct ERC20Votes.Checkpoint";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "clock";
                readonly outputs: readonly [{
                    readonly internalType: "uint48";
                    readonly name: "";
                    readonly type: "uint48";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "decimals";
                readonly outputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "spender";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "subtractedValue";
                    readonly type: "uint256";
                }];
                readonly name: "decreaseAllowance";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "delegatee";
                    readonly type: "address";
                }];
                readonly name: "delegate";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "delegatee";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "nonce";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "expiry";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "v";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "r";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "s";
                    readonly type: "bytes32";
                }];
                readonly name: "delegateBySig";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "delegates";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "eip712Domain";
                readonly outputs: readonly [{
                    readonly internalType: "bytes1";
                    readonly name: "fields";
                    readonly type: "bytes1";
                }, {
                    readonly internalType: "string";
                    readonly name: "name";
                    readonly type: "string";
                }, {
                    readonly internalType: "string";
                    readonly name: "version";
                    readonly type: "string";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "chainId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "verifyingContract";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "salt";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "extensions";
                    readonly type: "uint256[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "timepoint";
                    readonly type: "uint256";
                }];
                readonly name: "getPastTotalSupply";
                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: "account";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "timepoint";
                    readonly type: "uint256";
                }];
                readonly name: "getPastVotes";
                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: "role";
                    readonly type: "bytes32";
                }];
                readonly name: "getRoleAdmin";
                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: "account";
                    readonly type: "address";
                }];
                readonly name: "getVotes";
                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: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "grantRole";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "hasRole";
                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: "spender";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "addedValue";
                    readonly type: "uint256";
                }];
                readonly name: "increaseAllowance";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_recipient";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "_amount";
                    readonly type: "uint256";
                }];
                readonly name: "mint";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                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: "address";
                    readonly name: "owner";
                    readonly type: "address";
                }];
                readonly name: "nonces";
                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: "account";
                    readonly type: "address";
                }];
                readonly name: "numCheckpoints";
                readonly outputs: readonly [{
                    readonly internalType: "uint32";
                    readonly name: "";
                    readonly type: "uint32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "pause";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "paused";
                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 internalType: "address";
                    readonly name: "spender";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "value";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "deadline";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "v";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "r";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "s";
                    readonly type: "bytes32";
                }];
                readonly name: "permit";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "renounceRole";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "revokeRole";
                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 name: "totalSupply";
                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: "to";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "transfer";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                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: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "transferFrom";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "unpause";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "PubkeyRouter";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x65C3d057aef28175AfaC61a74cc6b27E88405583";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "ContractResolverAddressSet";
                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: "bytes";
                    readonly name: "pubkey";
                    readonly type: "bytes";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "stakingContract";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes32";
                    readonly name: "derivedKeyId";
                    readonly type: "bytes32";
                }];
                readonly name: "PubkeyRoutingDataSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "stakingContract";
                    readonly type: "address";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "pubkey";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IPubkeyRouter.RootKey";
                    readonly name: "rootKey";
                    readonly type: "tuple";
                }];
                readonly name: "RootKeySet";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakingContract";
                    readonly type: "address";
                }];
                readonly name: "adminResetRootKeys";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "r";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "s";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint8";
                        readonly name: "v";
                        readonly type: "uint8";
                    }];
                    readonly internalType: "struct IPubkeyRouter.Signature[]";
                    readonly name: "signatures";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "signedMessage";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }];
                readonly name: "checkNodeSignatures";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "pubkey";
                    readonly type: "bytes";
                }];
                readonly name: "deriveEthAddressFromPubkey";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "pure";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "ethAddress";
                    readonly type: "address";
                }];
                readonly name: "ethAddressToPkpId";
                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: "stakingContract";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "derivedKeyId";
                    readonly type: "bytes32";
                }];
                readonly name: "getDerivedPubkey";
                readonly outputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "";
                    readonly type: "bytes";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getEthAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpNftAddress";
                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: "getPubkey";
                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: "stakingContract";
                    readonly type: "address";
                }];
                readonly name: "getRootKeys";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "pubkey";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct IPubkeyRouter.RootKey[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getRoutingData";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "pubkey";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "derivedKeyId";
                        readonly type: "bytes32";
                    }];
                    readonly internalType: "struct LibPubkeyRouterStorage.PubkeyRoutingData";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "isRouted";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "pubkeys";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "pubkey";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "derivedKeyId";
                        readonly type: "bytes32";
                    }];
                    readonly internalType: "struct LibPubkeyRouterStorage.PubkeyRoutingData";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "pubkey";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "derivedKeyId";
                    readonly type: "bytes32";
                }];
                readonly name: "setRoutingData";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "pubkey";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "address";
                    readonly name: "stakingContract";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "derivedKeyId";
                    readonly type: "bytes32";
                }];
                readonly name: "setRoutingDataAsAdmin";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "bytes";
                        readonly name: "pubkey";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct IPubkeyRouter.RootKey[]";
                    readonly name: "newRootKeys";
                    readonly type: "tuple[]";
                }];
                readonly name: "voteForRootKeys";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "PKPNFT";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x6a0f439f064B7167A8Ea6B22AcC07ae5360ee0d1";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                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: "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: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "ContractResolverAddressSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "newFreeMintSigner";
                    readonly type: "address";
                }];
                readonly name: "FreeMintSignerSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint8";
                    readonly name: "version";
                    readonly type: "uint8";
                }];
                readonly name: "Initialized";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newMintCost";
                    readonly type: "uint256";
                }];
                readonly name: "MintCostSet";
                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: "bytes";
                    readonly name: "pubkey";
                    readonly type: "bytes";
                }];
                readonly name: "PKPMinted";
                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 anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newTrustedForwarder";
                    readonly type: "address";
                }];
                readonly name: "TrustedForwarderSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "Withdrew";
                readonly type: "event";
            }, {
                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: "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 internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "burn";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "derivedKeyId";
                    readonly type: "bytes32";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "bytes32";
                        readonly name: "r";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "s";
                        readonly type: "bytes32";
                    }, {
                        readonly internalType: "uint8";
                        readonly name: "v";
                        readonly type: "uint8";
                    }];
                    readonly internalType: "struct IPubkeyRouter.Signature[]";
                    readonly name: "signatures";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "stakingContractAddress";
                    readonly type: "address";
                }];
                readonly name: "claimAndMint";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "exists";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "freeMintSigner";
                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: "getApproved";
                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: "getEthAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getNextDerivedKeyId";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpNftMetadataAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpPermissionsAddress";
                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: "getPubkey";
                readonly outputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "";
                    readonly type: "bytes";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getRouterAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getStakingAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getTrustedForwarder";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "initialize";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                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: "mintCost";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "ipfsCID";
                    readonly type: "bytes";
                }];
                readonly name: "mintGrantAndBurnNext";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }];
                readonly name: "mintNext";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                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: "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: "bytes32";
                    readonly name: "hash";
                    readonly type: "bytes32";
                }];
                readonly name: "prefixed";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "pure";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "redeemedFreeMintIds";
                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: "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: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newFreeMintSigner";
                    readonly type: "address";
                }];
                readonly name: "setFreeMintSigner";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMintCost";
                    readonly type: "uint256";
                }];
                readonly name: "setMintCost";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "forwarder";
                    readonly type: "address";
                }];
                readonly name: "setTrustedForwarder";
                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: "index";
                    readonly type: "uint256";
                }];
                readonly name: "tokenByIndex";
                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: "owner";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "index";
                    readonly type: "uint256";
                }];
                readonly name: "tokenOfOwnerByIndex";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                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 name: "totalSupply";
                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: "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 name: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "RateLimitNFT";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xa17f11B7f828EEc97926E56D98D5AB63A0231b77";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newAdditionalRequestsPerKilosecondCost";
                    readonly type: "uint256";
                }];
                readonly name: "AdditionalRequestsPerKilosecondCostSet";
                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: "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: "newFreeMintSigner";
                    readonly type: "address";
                }];
                readonly name: "FreeMintSignerSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newFreeRequestsPerRateLimitWindow";
                    readonly type: "uint256";
                }];
                readonly name: "FreeRequestsPerRateLimitWindowSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint8";
                    readonly name: "version";
                    readonly type: "uint8";
                }];
                readonly name: "Initialized";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newRLIHolderRateLimitWindowSeconds";
                    readonly type: "uint256";
                }];
                readonly name: "RLIHolderRateLimitWindowSecondsSet";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "newRateLimitWindowSeconds";
                    readonly type: "uint256";
                }];
                readonly name: "RateLimitWindowSecondsSet";
                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 anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "amount";
                    readonly type: "uint256";
                }];
                readonly name: "Withdrew";
                readonly type: "event";
            }, {
                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: "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 internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "burn";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "expiresAt";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "requestsPerKilosecond";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "msgHash";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "v";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "r";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "sVal";
                    readonly type: "bytes32";
                }];
                readonly name: "freeMint";
                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: "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 name: "initialize";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                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 internalType: "uint256";
                    readonly name: "expiresAt";
                    readonly type: "uint256";
                }];
                readonly name: "mint";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                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: "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: "owner";
                    readonly type: "address";
                }];
                readonly name: "pruneExpired";
                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: "uint256";
                    readonly name: "newAdditionalRequestsPerKilosecondCost";
                    readonly type: "uint256";
                }];
                readonly name: "setAdditionalRequestsPerKilosecondCost";
                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: "newFreeMintSigner";
                    readonly type: "address";
                }];
                readonly name: "setFreeMintSigner";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newFreeRequestsPerRateLimitWindow";
                    readonly type: "uint256";
                }];
                readonly name: "setFreeRequestsPerRateLimitWindow";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMaxExpirationSeconds";
                    readonly type: "uint256";
                }];
                readonly name: "setMaxExpirationSeconds";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newMaxRequestsPerKilosecond";
                    readonly type: "uint256";
                }];
                readonly name: "setMaxRequestsPerKilosecond";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newRLIHolderRateLimitWindowSeconds";
                    readonly type: "uint256";
                }];
                readonly name: "setRLIHolderRateLimitWindowSeconds";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "newRateLimitWindowSeconds";
                    readonly type: "uint256";
                }];
                readonly name: "setRateLimitWindowSeconds";
                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: "index";
                    readonly type: "uint256";
                }];
                readonly name: "tokenByIndex";
                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: "owner";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "index";
                    readonly type: "uint256";
                }];
                readonly name: "tokenOfOwnerByIndex";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                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 name: "totalSupply";
                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: "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 name: "withdraw";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "RLIHolderRateLimitWindowSeconds";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "additionalRequestsPerKilosecondCost";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "requestsPerKilosecond";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "expiresAt";
                    readonly type: "uint256";
                }];
                readonly name: "calculateCost";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "payingAmount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "expiresAt";
                    readonly type: "uint256";
                }];
                readonly name: "calculateRequestsPerKilosecond";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "capacity";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "requestsPerKilosecond";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "expiresAt";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibRateLimitNFTStorage.RateLimit";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "requestedRequestsPerKilosecond";
                    readonly type: "uint256";
                }];
                readonly name: "checkBelowMaxRequestsPerKilosecond";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "currentSoldRequestsPerKilosecond";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "defaultRateLimitWindowSeconds";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "expiresAt";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "requestsPerKilosecond";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "msgHash";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "uint8";
                    readonly name: "v";
                    readonly type: "uint8";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "r";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "sVal";
                    readonly type: "bytes32";
                }];
                readonly name: "freeMintSigTest";
                readonly outputs: readonly [];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "freeMintSigner";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "freeRequestsPerRateLimitWindow";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "isExpired";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "maxExpirationSeconds";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "maxRequestsPerKilosecond";
                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: "hash";
                    readonly type: "bytes32";
                }];
                readonly name: "prefixed";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "pure";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "msgHash";
                    readonly type: "bytes32";
                }];
                readonly name: "redeemedFreeMints";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "tokenIdCounter";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "tokenSVG";
                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: "expiresAt";
                    readonly type: "uint256";
                }];
                readonly name: "totalSoldRequestsPerKilosecondByExpirationTime";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "PKPHelper";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x7E209fDFBBEe26Df3363354BC55C2Cc89DD030a9";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_resolver";
                    readonly type: "address";
                }, {
                    readonly internalType: "enum ContractResolver.Env";
                    readonly name: "_env";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "constructor";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "ContractResolverAddressSet";
                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: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "previousAdminRole";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "newAdminRole";
                    readonly type: "bytes32";
                }];
                readonly name: "RoleAdminChanged";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "RoleGranted";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "sender";
                    readonly type: "address";
                }];
                readonly name: "RoleRevoked";
                readonly type: "event";
            }, {
                readonly inputs: readonly [];
                readonly name: "DEFAULT_ADMIN_ROLE";
                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: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "derivedKeyId";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bytes32";
                            readonly name: "r";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "s";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "v";
                            readonly type: "uint8";
                        }];
                        readonly internalType: "struct IPubkeyRouter.Signature[]";
                        readonly name: "signatures";
                        readonly type: "tuple[]";
                    }];
                    readonly internalType: "struct LibPKPNFTStorage.ClaimMaterial";
                    readonly name: "claimMaterial";
                    readonly type: "tuple";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedIpfsCIDs";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedIpfsCIDScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "address[]";
                        readonly name: "permittedAddresses";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAddressScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "permittedAuthMethodTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodIds";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodPubkeys";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAuthMethodScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "addPkpEthAddressAsPermittedAddress";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "sendPkpToItself";
                        readonly type: "bool";
                    }];
                    readonly internalType: "struct PKPHelper.AuthMethodData";
                    readonly name: "authMethodData";
                    readonly type: "tuple";
                }];
                readonly name: "claimAndMintNextAndAddAuthMethods";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "derivedKeyId";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bytes32";
                            readonly name: "r";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "s";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "v";
                            readonly type: "uint8";
                        }];
                        readonly internalType: "struct IPubkeyRouter.Signature[]";
                        readonly name: "signatures";
                        readonly type: "tuple[]";
                    }];
                    readonly internalType: "struct LibPKPNFTStorage.ClaimMaterial";
                    readonly name: "claimMaterial";
                    readonly type: "tuple";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedIpfsCIDs";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedIpfsCIDScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "address[]";
                        readonly name: "permittedAddresses";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAddressScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "permittedAuthMethodTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodIds";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodPubkeys";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAuthMethodScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "addPkpEthAddressAsPermittedAddress";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "sendPkpToItself";
                        readonly type: "bool";
                    }];
                    readonly internalType: "struct PKPHelper.AuthMethodData";
                    readonly name: "authMethodData";
                    readonly type: "tuple";
                }];
                readonly name: "claimAndMintNextAndAddAuthMethodsWithTypes";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes32";
                        readonly name: "derivedKeyId";
                        readonly type: "bytes32";
                    }, {
                        readonly components: readonly [{
                            readonly internalType: "bytes32";
                            readonly name: "r";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "bytes32";
                            readonly name: "s";
                            readonly type: "bytes32";
                        }, {
                            readonly internalType: "uint8";
                            readonly name: "v";
                            readonly type: "uint8";
                        }];
                        readonly internalType: "struct IPubkeyRouter.Signature[]";
                        readonly name: "signatures";
                        readonly type: "tuple[]";
                    }, {
                        readonly internalType: "address";
                        readonly name: "stakingContractAddress";
                        readonly type: "address";
                    }];
                    readonly internalType: "struct LibPKPNFTStorage.ClaimMaterialV2";
                    readonly name: "claimMaterial";
                    readonly type: "tuple";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "keyType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedIpfsCIDs";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedIpfsCIDScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "address[]";
                        readonly name: "permittedAddresses";
                        readonly type: "address[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAddressScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "uint256[]";
                        readonly name: "permittedAuthMethodTypes";
                        readonly type: "uint256[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodIds";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "bytes[]";
                        readonly name: "permittedAuthMethodPubkeys";
                        readonly type: "bytes[]";
                    }, {
                        readonly internalType: "uint256[][]";
                        readonly name: "permittedAuthMethodScopes";
                        readonly type: "uint256[][]";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "addPkpEthAddressAsPermittedAddress";
                        readonly type: "bool";
                    }, {
                        readonly internalType: "bool";
                        readonly name: "sendPkpToItself";
                        readonly type: "bool";
                    }];
                    readonly internalType: "struct PKPHelper.AuthMethodData";
                    readonly name: "authMethodData";
                    readonly type: "tuple";
                }];
                readonly name: "claimAndMintNextAndAddAuthMethodsWithTypesV2";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "contractResolver";
                readonly outputs: readonly [{
                    readonly internalType: "contract ContractResolver";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "env";
                readonly outputs: readonly [{
                    readonly internalType: "enum ContractResolver.Env";
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getDomainWalletRegistry";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPKPNftMetdataAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpNftAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpPermissionsAddress";
                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: "role";
                    readonly type: "bytes32";
                }];
                readonly name: "getRoleAdmin";
                readonly outputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "";
                    readonly type: "bytes32";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getStakingAddress";
                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: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "grantRole";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "hasRole";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "permittedAuthMethodTypes";
                    readonly type: "uint256[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodIds";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodPubkeys";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedAuthMethodScopes";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "bool";
                    readonly name: "addPkpEthAddressAsPermittedAddress";
                    readonly type: "bool";
                }, {
                    readonly internalType: "bool";
                    readonly name: "sendPkpToItself";
                    readonly type: "bool";
                }];
                readonly name: "mintNextAndAddAuthMethods";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedIpfsCIDs";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedIpfsCIDScopes";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "address[]";
                    readonly name: "permittedAddresses";
                    readonly type: "address[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedAddressScopes";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "permittedAuthMethodTypes";
                    readonly type: "uint256[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodIds";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodPubkeys";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedAuthMethodScopes";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "bool";
                    readonly name: "addPkpEthAddressAsPermittedAddress";
                    readonly type: "bool";
                }, {
                    readonly internalType: "bool";
                    readonly name: "sendPkpToItself";
                    readonly type: "bool";
                }];
                readonly name: "mintNextAndAddAuthMethodsWithTypes";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "keyType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "permittedAuthMethodTypes";
                    readonly type: "uint256[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodIds";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodPubkeys";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedAuthMethodScopes";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "string[]";
                    readonly name: "nftMetadata";
                    readonly type: "string[]";
                }, {
                    readonly internalType: "bool";
                    readonly name: "addPkpEthAddressAsPermittedAddress";
                    readonly type: "bool";
                }, {
                    readonly internalType: "bool";
                    readonly name: "sendPkpToItself";
                    readonly type: "bool";
                }];
                readonly name: "mintNextAndAddDomainWalletMetadata";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "payable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "";
                    readonly type: "bytes";
                }];
                readonly name: "onERC721Received";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "";
                    readonly type: "bytes4";
                }];
                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: "removePkpMetadata";
                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: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "renounceRole";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "role";
                    readonly type: "bytes32";
                }, {
                    readonly internalType: "address";
                    readonly name: "account";
                    readonly type: "address";
                }];
                readonly name: "revokeRole";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "string[]";
                    readonly name: "nftMetadata";
                    readonly type: "string[]";
                }];
                readonly name: "setPkpMetadata";
                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 name: "PKPPermissions";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x60C1ddC8b9e38F730F0e7B70A2F84C1A98A69167";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "CallerNotOwner";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "ContractResolverAddressSet";
                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: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "userPubkey";
                    readonly type: "bytes";
                }];
                readonly name: "PermittedAuthMethodAdded";
                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: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "PermittedAuthMethodRemoved";
                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: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "scopeId";
                    readonly type: "uint256";
                }];
                readonly name: "PermittedAuthMethodScopeAdded";
                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: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly indexed: false;
                    readonly internalType: "uint256";
                    readonly name: "scopeId";
                    readonly type: "uint256";
                }];
                readonly name: "PermittedAuthMethodScopeRemoved";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly indexed: true;
                    readonly internalType: "uint256";
                    readonly name: "group";
                    readonly type: "uint256";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes32";
                    readonly name: "root";
                    readonly type: "bytes32";
                }];
                readonly name: "RootHashUpdated";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "newTrustedForwarder";
                    readonly type: "address";
                }];
                readonly name: "TrustedForwarderSet";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "ipfsCID";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "scopes";
                    readonly type: "uint256[]";
                }];
                readonly name: "addPermittedAction";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "scopes";
                    readonly type: "uint256[]";
                }];
                readonly name: "addPermittedAddress";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "authMethodType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "id";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "userPubkey";
                        readonly type: "bytes";
                    }];
                    readonly internalType: "struct LibPKPPermissionsStorage.AuthMethod";
                    readonly name: "authMethod";
                    readonly type: "tuple";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "scopes";
                    readonly type: "uint256[]";
                }];
                readonly name: "addPermittedAuthMethod";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "scopeId";
                    readonly type: "uint256";
                }];
                readonly name: "addPermittedAuthMethodScope";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "permittedAuthMethodTypesToAdd";
                    readonly type: "uint256[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodIdsToAdd";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodPubkeysToAdd";
                    readonly type: "bytes[]";
                }, {
                    readonly internalType: "uint256[][]";
                    readonly name: "permittedAuthMethodScopesToAdd";
                    readonly type: "uint256[][]";
                }, {
                    readonly internalType: "uint256[]";
                    readonly name: "permittedAuthMethodTypesToRemove";
                    readonly type: "uint256[]";
                }, {
                    readonly internalType: "bytes[]";
                    readonly name: "permittedAuthMethodIdsToRemove";
                    readonly type: "bytes[]";
                }];
                readonly name: "batchAddRemoveAuthMethods";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "getAuthMethodId";
                readonly outputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly stateMutability: "pure";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getEthAddress";
                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: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "getPKPPubKeysByAuthMethod";
                readonly outputs: readonly [{
                    readonly internalType: "bytes[]";
                    readonly name: "";
                    readonly type: "bytes[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getPermittedActions";
                readonly outputs: readonly [{
                    readonly internalType: "bytes[]";
                    readonly name: "";
                    readonly type: "bytes[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getPermittedAddresses";
                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 internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "maxScopeId";
                    readonly type: "uint256";
                }];
                readonly name: "getPermittedAuthMethodScopes";
                readonly outputs: readonly [{
                    readonly internalType: "bool[]";
                    readonly name: "";
                    readonly type: "bool[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "getPermittedAuthMethods";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "authMethodType";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "id";
                        readonly type: "bytes";
                    }, {
                        readonly internalType: "bytes";
                        readonly name: "userPubkey";
                        readonly type: "bytes";
                    }];
                    readonly internalType: "struct LibPKPPermissionsStorage.AuthMethod[]";
                    readonly name: "";
                    readonly type: "tuple[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getPkpNftAddress";
                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: "getPubkey";
                readonly outputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "";
                    readonly type: "bytes";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getRouterAddress";
                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: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "getTokenIdsForAuthMethod";
                readonly outputs: readonly [{
                    readonly internalType: "uint256[]";
                    readonly name: "";
                    readonly type: "uint256[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "getTrustedForwarder";
                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: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "getUserPubkeyForAuthMethod";
                readonly outputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "";
                    readonly type: "bytes";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "ipfsCID";
                    readonly type: "bytes";
                }];
                readonly name: "isPermittedAction";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }];
                readonly name: "isPermittedAddress";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "isPermittedAuthMethod";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "scopeId";
                    readonly type: "uint256";
                }];
                readonly name: "isPermittedAuthMethodScopePresent";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "ipfsCID";
                    readonly type: "bytes";
                }];
                readonly name: "removePermittedAction";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }];
                readonly name: "removePermittedAddress";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }];
                readonly name: "removePermittedAuthMethod";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "authMethodType";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "id";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "scopeId";
                    readonly type: "uint256";
                }];
                readonly name: "removePermittedAuthMethodScope";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newResolverAddress";
                    readonly type: "address";
                }];
                readonly name: "setContractResolver";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "group";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "root";
                    readonly type: "bytes32";
                }];
                readonly name: "setRootHash";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "forwarder";
                    readonly type: "address";
                }];
                readonly name: "setTrustedForwarder";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "group";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32[]";
                    readonly name: "proof";
                    readonly type: "bytes32[]";
                }, {
                    readonly internalType: "bytes32";
                    readonly name: "leaf";
                    readonly type: "bytes32";
                }];
                readonly name: "verifyState";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "group";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes32[]";
                    readonly name: "proof";
                    readonly type: "bytes32[]";
                }, {
                    readonly internalType: "bool[]";
                    readonly name: "proofFlags";
                    readonly type: "bool[]";
                }, {
                    readonly internalType: "bytes32[]";
                    readonly name: "leaves";
                    readonly type: "bytes32[]";
                }];
                readonly name: "verifyStates";
                readonly outputs: readonly [{
                    readonly internalType: "bool";
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "PKPNFTMetadata";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xaC1d01692EBA0E457134Eb7EB8bb96ee9D91FcdD";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_resolver";
                    readonly type: "address";
                }, {
                    readonly internalType: "enum ContractResolver.Env";
                    readonly name: "_env";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "nonpayable";
                readonly type: "constructor";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "buffer";
                    readonly type: "bytes";
                }];
                readonly name: "bytesToHex";
                readonly outputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly stateMutability: "pure";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "contractResolver";
                readonly outputs: readonly [{
                    readonly internalType: "contract ContractResolver";
                    readonly name: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "env";
                readonly outputs: readonly [{
                    readonly internalType: "enum ContractResolver.Env";
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "removeProfileForPkp";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }];
                readonly name: "removeUrlForPKP";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "string";
                    readonly name: "imgUrl";
                    readonly type: "string";
                }];
                readonly name: "setProfileForPKP";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "string";
                    readonly name: "url";
                    readonly type: "string";
                }];
                readonly name: "setUrlForPKP";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint256";
                    readonly name: "tokenId";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "pubKey";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "address";
                    readonly name: "ethAddress";
                    readonly type: "address";
                }];
                readonly name: "tokenURI";
                readonly outputs: readonly [{
                    readonly internalType: "string";
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }];
        }];
    }, {
        readonly name: "Allowlist";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0x5DD7a0FD581aB11a5720bE7E388e63346bC266fe";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly 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: "newAdmin";
                    readonly type: "address";
                }];
                readonly name: "AdminAdded";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "newAdmin";
                    readonly type: "address";
                }];
                readonly name: "AdminRemoved";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "key";
                    readonly type: "bytes32";
                }];
                readonly name: "ItemAllowed";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "bytes32";
                    readonly name: "key";
                    readonly type: "bytes32";
                }];
                readonly name: "ItemNotAllowed";
                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 internalType: "address";
                    readonly name: "newAdmin";
                    readonly type: "address";
                }];
                readonly name: "addAdmin";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "allowAll";
                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: "";
                    readonly type: "bytes32";
                }];
                readonly name: "allowedItems";
                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: "key";
                    readonly type: "bytes32";
                }];
                readonly name: "isAllowed";
                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: "";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "newAdmin";
                    readonly type: "address";
                }];
                readonly name: "removeAdmin";
                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: "bool";
                    readonly name: "_allowAll";
                    readonly type: "bool";
                }];
                readonly name: "setAllowAll";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "key";
                    readonly type: "bytes32";
                }];
                readonly name: "setAllowed";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes32";
                    readonly name: "key";
                    readonly type: "bytes32";
                }];
                readonly name: "setNotAllowed";
                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 name: "PaymentDelegation";
        readonly contracts: readonly [{
            readonly network: "datil-test";
            readonly address_hash: "0xd7188e0348F1dA8c9b3d6e614844cbA22329B99E";
            readonly inserted_at: "2025-09-15T23:45:01Z";
            readonly ABI: readonly [{
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotAddFunctionToDiamondThatAlreadyExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotAddSelectorsToZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveFunctionThatDoesNotExist";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotRemoveImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionThatDoesNotExists";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_selectors";
                    readonly type: "bytes4[]";
                }];
                readonly name: "CannotReplaceFunctionsFromFacetWithZeroAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_selector";
                    readonly type: "bytes4";
                }];
                readonly name: "CannotReplaceImmutableFunction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "uint8";
                    readonly name: "_action";
                    readonly type: "uint8";
                }];
                readonly name: "IncorrectFacetCutAction";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_initializationContractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "InitializationFunctionReverted";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_contractAddress";
                    readonly type: "address";
                }, {
                    readonly internalType: "string";
                    readonly name: "_message";
                    readonly type: "string";
                }];
                readonly name: "NoBytecodeAtAddress";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "NoSelectorsProvidedForFacetForCut";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_user";
                    readonly type: "address";
                }, {
                    readonly internalType: "address";
                    readonly name: "_contractOwner";
                    readonly type: "address";
                }];
                readonly name: "NotContractOwner";
                readonly type: "error";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facetAddress";
                    readonly type: "address";
                }];
                readonly name: "RemoveFacetAddressMustBeZeroAddress";
                readonly type: "error";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly indexed: false;
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "DiamondCut";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "enum IDiamond.FacetCutAction";
                        readonly name: "action";
                        readonly type: "uint8";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamond.FacetCut[]";
                    readonly name: "_diamondCut";
                    readonly type: "tuple[]";
                }, {
                    readonly internalType: "address";
                    readonly name: "_init";
                    readonly type: "address";
                }, {
                    readonly internalType: "bytes";
                    readonly name: "_calldata";
                    readonly type: "bytes";
                }];
                readonly name: "diamondCut";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "bytes4";
                    readonly name: "_functionSelector";
                    readonly type: "bytes4";
                }];
                readonly name: "facetAddress";
                readonly outputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "facetAddress_";
                    readonly type: "address";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facetAddresses";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "facetAddresses_";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "_facet";
                    readonly type: "address";
                }];
                readonly name: "facetFunctionSelectors";
                readonly outputs: readonly [{
                    readonly internalType: "bytes4[]";
                    readonly name: "_facetFunctionSelectors";
                    readonly type: "bytes4[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "facets";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "address";
                        readonly name: "facetAddress";
                        readonly type: "address";
                    }, {
                        readonly internalType: "bytes4[]";
                        readonly name: "functionSelectors";
                        readonly type: "bytes4[]";
                    }];
                    readonly internalType: "struct IDiamondLoupe.Facet[]";
                    readonly name: "facets_";
                    readonly type: "tuple[]";
                }];
                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 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: "owner";
                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: "_newOwner";
                    readonly type: "address";
                }];
                readonly name: "transferOwnership";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly internalType: "address";
                    readonly name: "payer";
                    readonly type: "address";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "requestsPerPeriod";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "periodSeconds";
                        readonly type: "uint256";
                    }];
                    readonly indexed: false;
                    readonly internalType: "struct LibPaymentDelegationStorage.Restriction";
                    readonly name: "restriction";
                    readonly type: "tuple";
                }];
                readonly name: "RestrictionSet";
                readonly type: "event";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }];
                readonly name: "delegatePayments";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "users";
                    readonly type: "address[]";
                }];
                readonly name: "delegatePaymentsBatch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }];
                readonly name: "getPayers";
                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: "users";
                    readonly type: "address[]";
                }];
                readonly name: "getPayersAndRestrictions";
                readonly outputs: readonly [{
                    readonly internalType: "address[][]";
                    readonly name: "";
                    readonly type: "address[][]";
                }, {
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "requestsPerPeriod";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "periodSeconds";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibPaymentDelegationStorage.Restriction[][]";
                    readonly name: "";
                    readonly type: "tuple[][]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "payer";
                    readonly type: "address";
                }];
                readonly name: "getRestriction";
                readonly outputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "requestsPerPeriod";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "periodSeconds";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibPaymentDelegationStorage.Restriction";
                    readonly name: "";
                    readonly type: "tuple";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "payer";
                    readonly type: "address";
                }];
                readonly name: "getUsers";
                readonly outputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "";
                    readonly type: "address[]";
                }];
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly inputs: readonly [];
                readonly name: "setDefaultRestriction";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly components: readonly [{
                        readonly internalType: "uint256";
                        readonly name: "requestsPerPeriod";
                        readonly type: "uint256";
                    }, {
                        readonly internalType: "uint256";
                        readonly name: "periodSeconds";
                        readonly type: "uint256";
                    }];
                    readonly internalType: "struct LibPaymentDelegationStorage.Restriction";
                    readonly name: "r";
                    readonly type: "tuple";
                }];
                readonly name: "setRestriction";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address";
                    readonly name: "user";
                    readonly type: "address";
                }];
                readonly name: "undelegatePayments";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly inputs: readonly [{
                    readonly internalType: "address[]";
                    readonly name: "users";
                    readonly type: "address[]";
                }];
                readonly name: "undelegatePaymentsBatch";
                readonly outputs: readonly [];
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }];
        }];
    }];
    readonly config: {
        readonly chainId: "175188";
        readonly rpcUrl: "https://yellowstone-rpc.litprotocol.com";
        readonly chainName: "yellowstone";
        readonly litNodeDomainName: "127.0.0.1";
        readonly litNodePort: 7470;
        readonly rocketPort: 7470;
    };
};