Vana SDK - v2.2.3
    Preparing search index...

    Function getAbi

    • Retrieves the ABI for a specific Vana contract

      Type Parameters

      • T extends
            | "ComputeEngine"
            | "ComputeInstructionRegistry"
            | "DAT"
            | "DATFactory"
            | "DATPausable"
            | "DATVotes"
            | "DLPPerformance"
            | "DLPRegistry"
            | "DLPRegistryTreasury"
            | "DLPRewardDeployer"
            | "DLPRewardDeployerTreasury"
            | "DLPRewardSwap"
            | "DataPortabilityGrantees"
            | "DataPortabilityPermissions"
            | "DataPortabilityServers"
            | "DataRefinerRegistry"
            | "DataRegistry"
            | "QueryEngine"
            | "SwapHelper"
            | "TeePool"
            | "TeePoolDedicatedGpu"
            | "TeePoolDedicatedStandard"
            | "TeePoolEphemeralStandard"
            | "TeePoolPersistentGpu"
            | "TeePoolPersistentStandard"
            | "TeePoolPhala"
            | "VanaEpoch"
            | "VanaPoolEntity"
            | "VanaPoolStaking"
            | "VanaPoolTreasury"
            | "DLPRegistryTreasuryImplementation"
            | "VanaTreasury"
            | "DataLiquidityPool"
            | "DLPRoot"

      Parameters

      • contract: T

        The name of the contract to get the ABI for

      Returns {
          DataPortabilityPermissions: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "ECDSAInvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "ECDSAInvalidSignatureLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "ECDSAInvalidSignatureS";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EmptyGrant"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "GranteeNotFound"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "InactivePermission";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "expectedNonce"; type: "uint256" },
                      { internalType: "uint256"; name: "providedNonce"; type: "uint256" },
                  ];
                  name: "InvalidNonce";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "filesLength"; type: "uint256" },
                      { internalType: "uint256"; name: "permissionsLength"; type: "uint256" },
                  ];
                  name: "InvalidPermissionsLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "filesLength"; type: "uint256" },
                      { internalType: "uint256"; name: "schemaIdsLength"; type: "uint256" },
                  ];
                  name: "InvalidSchemaIdsLength";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "fileOwner"; type: "address" },
                      { internalType: "address"; name: "requestor"; type: "address" },
                  ];
                  name: "NotFileOwner";
                  type: "error";
              },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "permissionOwner"; type: "address" },
                      { internalType: "address"; name: "requestor"; type: "address" },
                  ];
                  name: "NotPermissionGrantor";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [];
                  name: "EIP712DomainChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "permissionId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "user";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "granteeId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "grant";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "uint256[]";
                          name: "fileIds";
                          type: "uint256[]";
                      },
                  ];
                  name: "PermissionAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "permissionId";
                          type: "uint256";
                      },
                  ];
                  name: "PermissionRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                              { internalType: "string"; name: "grant"; type: "string" },
                              { internalType: "uint256[]"; name: "fileIds"; type: "uint256[]" },
                          ];
                          internalType: "struct IDataPortabilityPermissions.PermissionInput";
                          name: "permissionInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "addPermission";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                              { internalType: "string"; name: "grant"; type: "string" },
                              { internalType: "string[]"; name: "fileUrls"; type: "string[]" },
                              { internalType: "uint256[]"; name: "schemaIds"; type: "uint256[]" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "serverUrl"; type: "string" },
                              { internalType: "string"; name: "serverPublicKey"; type: "string" },
                              {
                                  components: readonly [
                                      { internalType: "address"; name: "account"; type: "address" },
                                      { internalType: "string"; name: "key"; type: "string" },
                                  ];
                                  internalType: "struct IDataRegistry.Permission[][]";
                                  name: "filePermissions";
                                  type: "tuple[][]";
                              },
                          ];
                          internalType: "struct IDataPortabilityPermissions.ServerFilesAndPermissionInput";
                          name: "serverFilesAndPermissionInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "addServerFilesAndPermissions";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataPortabilityGrantees";
                  outputs: readonly [
                      {
                          internalType: "contract IDataPortabilityGrantees";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataPortabilityServers";
                  outputs: readonly [
                      {
                          internalType: "contract IDataPortabilityServers";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataRegistry";
                  outputs: readonly [
                      { internalType: "contract IDataRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eip712Domain";
                  outputs: readonly [
                      { internalType: "bytes1"; name: "fields"; type: "bytes1" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "version"; type: "string" },
                      { internalType: "uint256"; name: "chainId"; type: "uint256" },
                      { internalType: "address"; name: "verifyingContract"; type: "address" },
                      { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                      { internalType: "uint256[]"; name: "extensions"; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "filePermissionIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "filePermissions";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "contract IDataRegistry";
                          name: "dataRegistryAddress";
                          type: "address";
                      },
                      {
                          internalType: "contract IDataPortabilityServers";
                          name: "serversContractAddr";
                          type: "address";
                      },
                      {
                          internalType: "contract IDataPortabilityGrantees";
                          name: "granteesContractAddr";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "permissionFileIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "permissions";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "grantor"; type: "address" },
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                              { internalType: "string"; name: "grant"; type: "string" },
                              { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                              { internalType: "uint256[]"; name: "fileIds"; type: "uint256[]" },
                          ];
                          internalType: "struct IDataPortabilityPermissions.PermissionInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "permissionsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "revokePermission";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityPermissions.RevokePermissionInput";
                          name: "revokePermissionInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "revokePermissionWithSignature";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "bytes32"; name: "adminRole"; type: "bytes32" },
                  ];
                  name: "setRoleAdmin";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataRegistry";
                          name: "newDataRegistry";
                          type: "address";
                      },
                  ];
                  name: "updateDataRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataPortabilityGrantees";
                          name: "newGranteesContract";
                          type: "address";
                      },
                  ];
                  name: "updateGranteesContract";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataPortabilityServers";
                          name: "newServersContract";
                          type: "address";
                      },
                  ];
                  name: "updateServersContract";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userNonce";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                      { internalType: "uint256"; name: "permissionIndex"; type: "uint256" },
                  ];
                  name: "userPermissionIdsAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userPermissionIdsLength";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userPermissionIdsValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "users";
                  outputs: readonly [
                      { internalType: "uint256"; name: "nonce"; type: "uint256" },
                      { internalType: "uint256[]"; name: "permissionIds"; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          DataPortabilityServers: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "ECDSAInvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "ECDSAInvalidSignatureLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "ECDSAInvalidSignatureS";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EmptyPublicKey"; type: "error" },
              { inputs: readonly []; name: "EmptyUrl"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "expectedNonce"; type: "uint256" },
                      { internalType: "uint256"; name: "providedNonce"; type: "uint256" },
                  ];
                  name: "InvalidNonce";
                  type: "error";
              },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "serverOwner"; type: "address" },
                      { internalType: "address"; name: "requestor"; type: "address" },
                  ];
                  name: "NotServerOwner";
                  type: "error";
              },
              { inputs: readonly []; name: "ServerAlreadyRegistered"; type: "error" },
              { inputs: readonly []; name: "ServerAlreadyTrusted"; type: "error" },
              { inputs: readonly []; name: "ServerAlreadyUntrusted"; type: "error" },
              { inputs: readonly []; name: "ServerNotFound"; type: "error" },
              { inputs: readonly []; name: "ServerNotTrusted"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "existingUrl"; type: "string" },
                      { internalType: "string"; name: "providedUrl"; type: "string" },
                  ];
                  name: "ServerUrlMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [];
                  name: "EIP712DomainChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "serverId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "serverAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "ServerRegistered";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "user";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "serverId";
                          type: "uint256";
                      },
                  ];
                  name: "ServerTrusted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "user";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "serverId";
                          type: "uint256";
                      },
                  ];
                  name: "ServerUntrusted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "serverId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "ServerUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "PERMISSION_MANAGER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "serverUrl"; type: "string" },
                          ];
                          internalType: "struct IDataPortabilityServers.AddServerInput";
                          name: "addServerInput";
                          type: "tuple";
                      },
                  ];
                  name: "addAndTrustServerByManager";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "serverUrl"; type: "string" },
                          ];
                          internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
                          name: "addServerInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "addAndTrustServerWithSignature";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "serverUrl"; type: "string" },
                          ];
                          internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
                          name: "addServerInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "addServerWithSignature";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eip712Domain";
                  outputs: readonly [
                      { internalType: "bytes1"; name: "fields"; type: "bytes1" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "version"; type: "string" },
                      { internalType: "uint256"; name: "chainId"; type: "uint256" },
                      { internalType: "address"; name: "verifyingContract"; type: "address" },
                      { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                      { internalType: "uint256[]"; name: "extensions"; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "serverAddress"; type: "address" },
                  ];
                  name: "serverAddressToId";
                  outputs: readonly [
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "serverAddress"; type: "address" },
                  ];
                  name: "serverByAddress";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "url"; type: "string" },
                          ];
                          internalType: "struct IDataPortabilityServers.ServerInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  name: "servers";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "url"; type: "string" },
                          ];
                          internalType: "struct IDataPortabilityServers.ServerInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "serversCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "bytes32"; name: "adminRole"; type: "bytes32" },
                  ];
                  name: "setRoleAdmin";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                      { internalType: "uint256"; name: "nonce"; type: "uint256" },
                  ];
                  name: "setUserNonce";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  name: "trustServer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  name: "trustServerByManager";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "serverId"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityServers.TrustServerInput";
                          name: "trustServerInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "trustServerWithSignature";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  name: "untrustServer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "nonce"; type: "uint256" },
                              { internalType: "uint256"; name: "serverId"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityServers.UntrustServerInput";
                          name: "untrustServerInput";
                          type: "tuple";
                      },
                      { internalType: "bytes"; name: "signature"; type: "bytes" },
                  ];
                  name: "untrustServerWithSignature";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                      { internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "updateServer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userNonce";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                      { internalType: "uint256"; name: "serverIndex"; type: "uint256" },
                  ];
                  name: "userServerIdsAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userServerIdsLength";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userServerIdsValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "userServerValues";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "url"; type: "string" },
                              { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityServers.TrustedServerInfo[]";
                          name: "serversInfo";
                          type: "tuple[]";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                      { internalType: "uint256"; name: "serverId"; type: "uint256" },
                  ];
                  name: "userServers";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "serverAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "url"; type: "string" },
                              { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityServers.TrustedServerInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "userAddress"; type: "address" },
                  ];
                  name: "users";
                  outputs: readonly [
                      { internalType: "uint256"; name: "nonce"; type: "uint256" },
                      {
                          internalType: "uint256[]";
                          name: "trustedServerIds";
                          type: "uint256[]";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
          ];
          DataPortabilityGrantees: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EmptyPublicKey"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "GranteeAlreadyRegistered"; type: "error" },
              { inputs: readonly []; name: "GranteeNotFound"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "UnauthorizedRegistration"; type: "error" },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "granteeId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "granteeAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "GranteeRegistered";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "PERMISSION_MANAGER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "addPermissionToGrantee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "granteeAddress"; type: "address" },
                  ];
                  name: "granteeAddressToId";
                  outputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "granteeAddress"; type: "address" },
                  ];
                  name: "granteeByAddress";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              {
                                  internalType: "uint256[]";
                                  name: "permissionIds";
                                  type: "uint256[]";
                              },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "granteeAddress"; type: "address" },
                  ];
                  name: "granteeByAddressV2";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "uint256"; name: "permissionsCount"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfoV2";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "granteeInfo";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              {
                                  internalType: "uint256[]";
                                  name: "permissionIds";
                                  type: "uint256[]";
                              },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "granteeInfoV2";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "uint256"; name: "permissionsCount"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfoV2";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "granteePermissionIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "granteePermissions";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                      { internalType: "uint256"; name: "offset"; type: "uint256" },
                      { internalType: "uint256"; name: "limit"; type: "uint256" },
                  ];
                  name: "granteePermissionsPaginated";
                  outputs: readonly [
                      {
                          internalType: "uint256[]";
                          name: "permissionIds";
                          type: "uint256[]";
                      },
                      { internalType: "uint256"; name: "totalCount"; type: "uint256" },
                      { internalType: "bool"; name: "hasMore"; type: "bool" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "grantees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              {
                                  internalType: "uint256[]";
                                  name: "permissionIds";
                                  type: "uint256[]";
                              },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "granteesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                  ];
                  name: "granteesV2";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "granteeAddress"; type: "address" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "uint256"; name: "permissionsCount"; type: "uint256" },
                          ];
                          internalType: "struct IDataPortabilityGrantees.GranteeInfoV2";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "granteeAddress"; type: "address" },
                      { internalType: "string"; name: "publicKey"; type: "string" },
                  ];
                  name: "registerGrantee";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "granteeId"; type: "uint256" },
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "removePermissionFromGrantee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "bytes32"; name: "adminRole"; type: "bytes32" },
                  ];
                  name: "setRoleAdmin";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
          ];
          DataRegistry: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "FileNotFound"; type: "error" },
              { inputs: readonly []; name: "FileUrlAlreadyUsed"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "InvalidSchemaId";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidUrl"; type: "error" },
              { inputs: readonly []; name: "NoPermission"; type: "error" },
              { inputs: readonly []; name: "NotFileOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "FileAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "schemaId";
                          type: "uint256";
                      },
                  ];
                  name: "FileAddedV2";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "PermissionGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "proofIndex";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "score";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "proofUrl";
                          type: "string";
                      },
                  ];
                  name: "ProofAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "refinerId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "RefinementAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "refinerId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "RefinementUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DATA_PORTABILITY_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "REFINEMENT_SERVICE_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "addFile";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "string"; name: "key"; type: "string" },
                  ];
                  name: "addFilePermission";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "account"; type: "address" },
                              { internalType: "string"; name: "key"; type: "string" },
                          ];
                          internalType: "struct IDataRegistry.Permission[]";
                          name: "permissions";
                          type: "tuple[]";
                      },
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "addFilePermissionsAndSchema";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "account"; type: "address" },
                              { internalType: "string"; name: "key"; type: "string" },
                          ];
                          internalType: "struct IDataRegistry.Permission[]";
                          name: "permissions";
                          type: "tuple[]";
                      },
                  ];
                  name: "addFileWithPermissions";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "account"; type: "address" },
                              { internalType: "string"; name: "key"; type: "string" },
                          ];
                          internalType: "struct IDataRegistry.Permission[]";
                          name: "permissions";
                          type: "tuple[]";
                      },
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "addFileWithPermissionsAndSchema";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "addFileWithSchema";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "bytes"; name: "signature"; type: "bytes" },
                              {
                                  components: readonly [
                                      { internalType: "uint256"; name: "score"; type: "uint256" },
                                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                                      { internalType: "string"; name: "metadata"; type: "string" },
                                      { internalType: "string"; name: "proofUrl"; type: "string" },
                                      { internalType: "string"; name: "instruction"; type: "string" },
                                  ];
                                  internalType: "struct IDataRegistry.ProofData";
                                  name: "data";
                                  type: "tuple";
                              },
                          ];
                          internalType: "struct IDataRegistry.Proof";
                          name: "proof";
                          type: "tuple";
                      },
                  ];
                  name: "addProof";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "string"; name: "key"; type: "string" },
                  ];
                  name: "addRefinementWithPermission";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataRefinerRegistry";
                  outputs: readonly [
                      {
                          internalType: "contract IDataRefinerRegistry";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "emitLegacyEvents";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "fileIdByUrl";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "filePermissions";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "fileProofs";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "bytes"; name: "signature"; type: "bytes" },
                              {
                                  components: readonly [
                                      { internalType: "uint256"; name: "score"; type: "uint256" },
                                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                                      { internalType: "string"; name: "metadata"; type: "string" },
                                      { internalType: "string"; name: "proofUrl"; type: "string" },
                                      { internalType: "string"; name: "instruction"; type: "string" },
                                  ];
                                  internalType: "struct IDataRegistry.ProofData";
                                  name: "data";
                                  type: "tuple";
                              },
                          ];
                          internalType: "struct IDataRegistry.Proof";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                  ];
                  name: "fileRefinements";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "files";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                              { internalType: "uint256"; name: "addedAtBlock"; type: "uint256" },
                          ];
                          internalType: "struct IDataRegistry.FileResponse";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "filesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                  ];
                  name: "multicall";
                  outputs: readonly [
                      { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "bytes32"; name: "adminRole"; type: "bytes32" },
                  ];
                  name: "setRoleAdmin";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataRefinerRegistry";
                          name: "newDataRefinerRegistry";
                          type: "address";
                      },
                  ];
                  name: "updateDataRefinerRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bool"; name: "newEmitLegacyEvents"; type: "bool" },
                  ];
                  name: "updateEmitLegacyEvents";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolPhala: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "CancelDelayNotPassed"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InsufficientFee"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidJobStatus"; type: "error" },
              { inputs: readonly []; name: "InvalidJobTee"; type: "error" },
              { inputs: readonly []; name: "JobCompleted"; type: "error" },
              { inputs: readonly []; name: "NoActiveTee"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotJobOwner"; type: "error" },
              { inputs: readonly []; name: "NothingToClaim"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              { inputs: readonly []; name: "TeeNotActive"; type: "error" },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Claimed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobCanceled";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "bidAmount";
                          type: "uint256";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "attestator";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                  ];
                  name: "ProofAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "bytes"; name: "signature"; type: "bytes" },
                              {
                                  components: readonly [
                                      { internalType: "uint256"; name: "score"; type: "uint256" },
                                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                                      { internalType: "string"; name: "metadata"; type: "string" },
                                      { internalType: "string"; name: "proofUrl"; type: "string" },
                                      { internalType: "string"; name: "instruction"; type: "string" },
                                  ];
                                  internalType: "struct IDataRegistry.ProofData";
                                  name: "data";
                                  type: "tuple";
                              },
                          ];
                          internalType: "struct IDataRegistry.Proof";
                          name: "proof";
                          type: "tuple";
                      },
                  ];
                  name: "addProof";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "string"; name: "publicKey"; type: "string" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "cancelDelay";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "cancelJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "claim";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataRegistry";
                  outputs: readonly [
                      { internalType: "contract IDataRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "fileJobIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "dataRegistryAddress";
                          type: "address";
                      },
                      { internalType: "uint256"; name: "initialCancelDelay"; type: "uint256" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "jobs";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "fileId"; type: "uint256" },
                              { internalType: "uint256"; name: "bidAmount"; type: "uint256" },
                              {
                                  internalType: "enum ITeePool.JobStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "addedTimestamp"; type: "uint256" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                          ];
                          internalType: "struct ITeePool.Job";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "jobsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                  ];
                  name: "multicall";
                  outputs: readonly [
                      { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "requestContributionProof";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "submitJob";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeFee";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "uint256"; name: "start"; type: "uint256" },
                      { internalType: "uint256"; name: "limit"; type: "uint256" },
                  ];
                  name: "teeJobIdsPaginated";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newCancelDelay"; type: "uint256" },
                  ];
                  name: "updateCancelDelay";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataRegistry";
                          name: "newDataRegistry";
                          type: "address";
                      },
                  ];
                  name: "updateDataRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newTeeFee"; type: "uint256" },
                  ];
                  name: "updateTeeFee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          ComputeEngine: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "FailedToAssignTee"; type: "error" },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                  ];
                  name: "InstructionNotFound";
                  type: "error";
              },
              { inputs: readonly []; name: "InsufficientBalance"; type: "error" },
              { inputs: readonly []; name: "InvalidAmount"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      {
                          internalType: "enum IComputeEngine.JobStatus";
                          name: "currentStatus";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngine.JobStatus";
                          name: "newStatus";
                          type: "uint8";
                      },
                  ];
                  name: "InvalidStatusTransition";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidVanaAmount"; type: "error" },
              { inputs: readonly []; name: "JobAlreadyDone"; type: "error" },
              { inputs: readonly []; name: "JobLifeCycleEnded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "JobNotFound";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "JobNotSubmitted";
                  type: "error";
              },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotJobOwner"; type: "error" },
              { inputs: readonly []; name: "NotLongRunningJob"; type: "error" },
              { inputs: readonly []; name: "NotQueryEngine"; type: "error" },
              { inputs: readonly []; name: "NotTee"; type: "error" },
              { inputs: readonly []; name: "OnlyRegisteredJobStatus"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "TeeAlreadyAssigned";
                  type: "error";
              },
              { inputs: readonly []; name: "TeePoolNotFound"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UnauthorizedPaymentRequestor";
                  type: "error";
              },
              { inputs: readonly []; name: "UnexpectedVanaDeposit"; type: "error" },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroTeeAddress"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Deposit";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobCanceled";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                  ];
                  name: "JobRegistered";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "enum IComputeEngine.JobStatus";
                          name: "status";
                          type: "uint8";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "statusMessage";
                          type: "string";
                      },
                  ];
                  name: "JobStatusUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "PaymentExecuted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "bytes"; name: "reason"; type: "bytes" },
                  ];
                  name: "TeeAssignmentFailed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teePoolAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeAssignmentSucceeded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Withdraw";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEDICATED_TIMEOUT";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "balanceOf";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "cancelJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngineTreasury";
                  outputs: readonly [
                      {
                          internalType: "contract IDataAccessTreasury";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "deposit";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                      { internalType: "bytes"; name: "metadata"; type: "bytes" },
                  ];
                  name: "executePaymentRequest";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initQueryEngine"; type: "address" },
                      {
                          internalType: "contract IComputeEngineTeePoolFactory";
                          name: "initTeePoolFactory";
                          type: "address";
                      },
                      {
                          internalType: "contract DataAccessTreasuryProxyFactory";
                          name: "initDataAccessTreasuryFactory";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "instructionRegistry";
                  outputs: readonly [
                      {
                          internalType: "contract IComputeInstructionRegistry";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "jobs";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "uint80"; name: "maxTimeout"; type: "uint80" },
                              { internalType: "bool"; name: "gpuRequired"; type: "bool" },
                              {
                                  internalType: "enum IComputeEngine.JobStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              {
                                  internalType: "uint32";
                                  name: "computeInstructionId";
                                  type: "uint32";
                              },
                              { internalType: "uint48"; name: "addedTimestamp"; type: "uint48" },
                              { internalType: "string"; name: "statusMessage"; type: "string" },
                              { internalType: "address"; name: "teePoolAddress"; type: "address" },
                          ];
                          internalType: "struct IComputeEngine.Job";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "jobsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "paymentInfo";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "queryEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "resubmitJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "resubmitJobWithTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "maxTimeout"; type: "uint80" },
                      { internalType: "bool"; name: "gpuRequired"; type: "bool" },
                      {
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                  ];
                  name: "submitJob";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "maxTimeout"; type: "uint80" },
                      { internalType: "bool"; name: "gpuRequired"; type: "bool" },
                      {
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "submitJobWithTee";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      {
                          internalType: "contract IComputeEngineTeePoolFactory";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataAccessTreasury";
                          name: "newComputeEngineTreasuryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngineTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IComputeInstructionRegistry";
                          name: "newInstructionRegistry";
                          type: "address";
                      },
                  ];
                  name: "updateInstructionRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      {
                          internalType: "enum IComputeEngine.JobStatus";
                          name: "status";
                          type: "uint8";
                      },
                      { internalType: "string"; name: "statusMessage"; type: "string" },
                  ];
                  name: "updateJobStatus";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newQueryEngineAddress";
                          type: "address";
                      },
                  ];
                  name: "updateQueryEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IComputeEngineTeePoolFactory";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "vanaPaymentInfo";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "withdraw";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
          ];
          DataRefinerRegistry: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "InvalidSchemaId";
                  type: "error";
              },
              { inputs: readonly []; name: "NotDlpOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "refinerId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "schemaId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "schemaDefinitionUrl";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "refinementInstructionUrl";
                          type: "string";
                      },
                  ];
                  name: "RefinerAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "schemaId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "dialect";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "definitionUrl";
                          type: "string";
                      },
                  ];
                  name: "SchemaAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "refinementService"; type: "address" },
                  ];
                  name: "addRefinementService";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "schemaDefinitionUrl"; type: "string" },
                      {
                          internalType: "string";
                          name: "refinementInstructionUrl";
                          type: "string";
                      },
                  ];
                  name: "addRefiner";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                      {
                          internalType: "string";
                          name: "refinementInstructionUrl";
                          type: "string";
                      },
                  ];
                  name: "addRefinerWithSchemaId";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "dialect"; type: "string" },
                      { internalType: "string"; name: "definitionUrl"; type: "string" },
                  ];
                  name: "addSchema";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "dlpRefinementServices";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "dlpRefiners";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistry";
                  outputs: readonly [
                      { internalType: "contract IDLPRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "initDlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "address"; name: "refinementService"; type: "address" },
                  ];
                  name: "isRefinementService";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "isValidSchemaId";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                  ];
                  name: "refiners";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                              {
                                  internalType: "string";
                                  name: "schemaDefinitionUrl";
                                  type: "string";
                              },
                              {
                                  internalType: "string";
                                  name: "refinementInstructionUrl";
                                  type: "string";
                              },
                              { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                          ];
                          internalType: "struct IDataRefinerRegistry.RefinerInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "refinersCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "refinementService"; type: "address" },
                  ];
                  name: "removeRefinementService";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "schemaId"; type: "uint256" },
                  ];
                  name: "schemas";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "dialect"; type: "string" },
                              { internalType: "string"; name: "definitionUrl"; type: "string" },
                          ];
                          internalType: "struct IDataRefinerRegistry.Schema";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "schemasCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "updateDlpRefinersOwner";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                  ];
                  name: "updateRefinerOwner";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "uint256"; name: "newSchemaId"; type: "uint256" },
                  ];
                  name: "updateSchemaId";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          QueryEngine: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              { inputs: readonly []; name: "ColumnNameUnexpected"; type: "error" },
              { inputs: readonly []; name: "DlpNotFound"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              {
                  inputs: readonly [];
                  name: "InvalidDlpPaymentPercentage";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidDlpTreasuryAddress"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "InvalidPaymentToken";
                  type: "error";
              },
              { inputs: readonly []; name: "NotDlpOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotRefinerOwner"; type: "error" },
              { inputs: readonly []; name: "PaymentNotReceived"; type: "error" },
              { inputs: readonly []; name: "PermissionNotFound"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "RefinerNotFound"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "TokenAlreadyWhitelisted";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "dlpTreasuryAddress";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "DlpPaymentClaimed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "refinerId";
                          type: "uint256";
                      },
                  ];
                  name: "PaymentReceived";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "permissionId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "grantee";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "refinerId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "tableName";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "columnName";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "tokenAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "price";
                          type: "uint256";
                      },
                  ];
                  name: "PermissionAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "permissionId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "bool"; name: "approved"; type: "bool" },
                  ];
                  name: "PermissionApprovalUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "ONE_HUNDRED_PERCENT";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "QUERY_ENGINE_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "string"; name: "tableName"; type: "string" },
                      { internalType: "string"; name: "columnName"; type: "string" },
                      { internalType: "address"; name: "tokenAddress"; type: "address" },
                      { internalType: "uint256"; name: "price"; type: "uint256" },
                  ];
                  name: "addGenericPermission";
                  outputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "addPaymentToken";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "grantee"; type: "address" },
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "string"; name: "tableName"; type: "string" },
                      { internalType: "string"; name: "columnName"; type: "string" },
                      { internalType: "address"; name: "tokenAddress"; type: "address" },
                      { internalType: "uint256"; name: "price"; type: "uint256" },
                  ];
                  name: "addPermission";
                  outputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "balanceOf";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "claimDlpPayment";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      {
                          internalType: "contract IComputeEngine";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpPaymentPercentage";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "dlpPubKeys";
                  outputs: readonly [
                      { internalType: "string"; name: "pubKey"; type: "string" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                      { internalType: "address"; name: "grantee"; type: "address" },
                  ];
                  name: "getPermissions";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                              { internalType: "address"; name: "grantee"; type: "address" },
                              { internalType: "bool"; name: "approved"; type: "bool" },
                              { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                              { internalType: "string"; name: "tableName"; type: "string" },
                              { internalType: "string"; name: "columnName"; type: "string" },
                              { internalType: "uint256"; name: "price"; type: "uint256" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                          ];
                          internalType: "struct IQueryEngine.PermissionInfo[]";
                          name: "";
                          type: "tuple[]";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "initRefinerRegistryAddress";
                          type: "address";
                      },
                      {
                          internalType: "contract DataAccessTreasuryProxyFactory";
                          name: "initDataAccessTreasuryFactory";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                  ];
                  name: "permissions";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "grantee"; type: "address" },
                              { internalType: "bool"; name: "approved"; type: "bool" },
                              { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                              { internalType: "string"; name: "tableName"; type: "string" },
                              { internalType: "string"; name: "columnName"; type: "string" },
                              { internalType: "uint256"; name: "price"; type: "uint256" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                          ];
                          internalType: "struct IQueryEngine.Permission";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "permissionsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "queryEngineTreasury";
                  outputs: readonly [
                      {
                          internalType: "contract IDataAccessTreasury";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "refinerRegistry";
                  outputs: readonly [
                      {
                          internalType: "contract IDataRefinerRegistry";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "removePaymentToken";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                      { internalType: "bytes"; name: "metadata"; type: "bytes" },
                  ];
                  name: "requestPayment";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                  ];
                  name: "requestPaymentInToken";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      { internalType: "uint256"; name: "refinerId"; type: "uint256" },
                  ];
                  name: "requestPaymentInVana";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngineAddress";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newDlpPaymentPercentage";
                          type: "uint256";
                      },
                  ];
                  name: "updateDlpPaymentPercentage";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "string"; name: "pubKey"; type: "string" },
                  ];
                  name: "updateDlpPubKey";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "permissionId"; type: "uint256" },
                      { internalType: "bool"; name: "approved"; type: "bool" },
                  ];
                  name: "updatePermissionApproval";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataAccessTreasury";
                          name: "newQueryEngineTreasury";
                          type: "address";
                      },
                  ];
                  name: "updateQueryEngineTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newRefinerRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateRefinerRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newVanaTreasury"; type: "address" },
                  ];
                  name: "updateVanaTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaTreasury";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          ComputeInstructionRegistry: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "instructionId"; type: "uint256" },
                  ];
                  name: "ComputeInstructionNotFound";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotDlpOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "computeInstructionUrl";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "bytes32";
                          name: "computeInstructionHash";
                          type: "bytes32";
                      },
                  ];
                  name: "ComputeInstructionAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "bool"; name: "approved"; type: "bool" },
                  ];
                  name: "ComputeInstructionUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "hash"; type: "bytes32" },
                      { internalType: "string"; name: "url"; type: "string" },
                  ];
                  name: "addComputeInstruction";
                  outputs: readonly [
                      {
                          internalType: "uint256";
                          name: "computeInstructionId";
                          type: "uint256";
                      },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistry";
                  outputs: readonly [
                      { internalType: "contract IDLPRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "initDlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "instructionId"; type: "uint256" },
                  ];
                  name: "instructions";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "bytes32"; name: "hash"; type: "bytes32" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                          ];
                          internalType: "struct IComputeInstructionRegistry.ComputeInstructionInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "instructionsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "instructionId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "isApproved";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "instructionId"; type: "uint256" },
                  ];
                  name: "isValidInstructionId";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "instructionId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "bool"; name: "approved"; type: "bool" },
                  ];
                  name: "updateComputeInstruction";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolEphemeralStandard: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "HWRequirementNotMet"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MaxTimeoutExceeded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teePoolAddress"; type: "address" },
                  ];
                  name: "NoActiveTee";
                  type: "error";
              },
              { inputs: readonly []; name: "NotComputeEngine"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotTeePoolFactory"; type: "error" },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "TeeNotActive";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "newHardwareType";
                          type: "uint8";
                      },
                  ];
                  name: "HardwareTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "newTeePoolType";
                          type: "uint8";
                      },
                  ];
                  name: "TeePoolTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "hardwareType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initComputeEngine"; type: "address" },
                      { internalType: "address"; name: "initTeePoolFactory"; type: "address" },
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "initTeePoolType";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "initHardwareType";
                          type: "uint8";
                      },
                      { internalType: "uint80"; name: "initMaxTimeout"; type: "uint80" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxTimeout";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "removeJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "submitJob";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                      { internalType: "bytes"; name: ""; type: "bytes" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngine";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "newMaxTimeout"; type: "uint80" },
                  ];
                  name: "updateMaxTimeout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolPersistentStandard: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "HWRequirementNotMet"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MaxTimeoutExceeded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teePoolAddress"; type: "address" },
                  ];
                  name: "NoActiveTee";
                  type: "error";
              },
              { inputs: readonly []; name: "NotComputeEngine"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotTeePoolFactory"; type: "error" },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "TeeNotActive";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "newHardwareType";
                          type: "uint8";
                      },
                  ];
                  name: "HardwareTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "newTeePoolType";
                          type: "uint8";
                      },
                  ];
                  name: "TeePoolTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "hardwareType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initComputeEngine"; type: "address" },
                      { internalType: "address"; name: "initTeePoolFactory"; type: "address" },
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "initTeePoolType";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "initHardwareType";
                          type: "uint8";
                      },
                      { internalType: "uint80"; name: "initMaxTimeout"; type: "uint80" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxTimeout";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "removeJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "submitJob";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                      { internalType: "bytes"; name: ""; type: "bytes" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngine";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "newMaxTimeout"; type: "uint80" },
                  ];
                  name: "updateMaxTimeout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolPersistentGpu: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "HWRequirementNotMet"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MaxTimeoutExceeded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teePoolAddress"; type: "address" },
                  ];
                  name: "NoActiveTee";
                  type: "error";
              },
              { inputs: readonly []; name: "NotComputeEngine"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotTeePoolFactory"; type: "error" },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "TeeNotActive";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "newHardwareType";
                          type: "uint8";
                      },
                  ];
                  name: "HardwareTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "newTeePoolType";
                          type: "uint8";
                      },
                  ];
                  name: "TeePoolTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "hardwareType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initComputeEngine"; type: "address" },
                      { internalType: "address"; name: "initTeePoolFactory"; type: "address" },
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "initTeePoolType";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "initHardwareType";
                          type: "uint8";
                      },
                      { internalType: "uint80"; name: "initMaxTimeout"; type: "uint80" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxTimeout";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "removeJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "submitJob";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                      { internalType: "bytes"; name: ""; type: "bytes" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngine";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "newMaxTimeout"; type: "uint80" },
                  ];
                  name: "updateMaxTimeout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolDedicatedStandard: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "HWRequirementNotMet"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MaxTimeoutExceeded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teePoolAddress"; type: "address" },
                  ];
                  name: "NoActiveTee";
                  type: "error";
              },
              { inputs: readonly []; name: "NotComputeEngine"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotTeePoolFactory"; type: "error" },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "TeeNotActive";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "newHardwareType";
                          type: "uint8";
                      },
                  ];
                  name: "HardwareTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "newTeePoolType";
                          type: "uint8";
                      },
                  ];
                  name: "TeePoolTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "hardwareType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initComputeEngine"; type: "address" },
                      { internalType: "address"; name: "initTeePoolFactory"; type: "address" },
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "initTeePoolType";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "initHardwareType";
                          type: "uint8";
                      },
                      { internalType: "uint80"; name: "initMaxTimeout"; type: "uint80" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxTimeout";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "removeJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "submitJob";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                      { internalType: "bytes"; name: ""; type: "bytes" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngine";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "newMaxTimeout"; type: "uint80" },
                  ];
                  name: "updateMaxTimeout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          TeePoolDedicatedGpu: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "HWRequirementNotMet"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MaxTimeoutExceeded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teePoolAddress"; type: "address" },
                  ];
                  name: "NoActiveTee";
                  type: "error";
              },
              { inputs: readonly []; name: "NotComputeEngine"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotTeePoolFactory"; type: "error" },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "TeeNotActive";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "newHardwareType";
                          type: "uint8";
                      },
                  ];
                  name: "HardwareTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "url"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "publicKey";
                          type: "string";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "newTeePoolType";
                          type: "uint8";
                      },
                  ];
                  name: "TeePoolTypeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "computeEngine";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "hardwareType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initComputeEngine"; type: "address" },
                      { internalType: "address"; name: "initTeePoolFactory"; type: "address" },
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "initTeePoolType";
                          type: "uint8";
                      },
                      {
                          internalType: "enum IComputeEngineTeePool.HardwareType";
                          name: "initHardwareType";
                          type: "uint8";
                      },
                      { internalType: "uint80"; name: "initMaxTimeout"; type: "uint80" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxTimeout";
                  outputs: readonly [{ internalType: "uint80"; name: ""; type: "uint80" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "removeJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes"; name: "params"; type: "bytes" },
                  ];
                  name: "submitJob";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                      { internalType: "bytes"; name: ""; type: "bytes" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolFactory";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePoolType";
                  outputs: readonly [
                      {
                          internalType: "enum IComputeEngineTeePool.TeePoolType";
                          name: "";
                          type: "uint8";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum IComputeEngineTeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct IComputeEngineTeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newComputeEngine";
                          type: "address";
                      },
                  ];
                  name: "updateComputeEngine";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint80"; name: "newMaxTimeout"; type: "uint80" },
                  ];
                  name: "updateMaxTimeout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newTeePoolFactory";
                          type: "address";
                      },
                  ];
                  name: "updateTeePoolFactory";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          VanaEpoch: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EpochAlreadyFinalized"; type: "error" },
              { inputs: readonly []; name: "EpochNotEnded"; type: "error" },
              { inputs: readonly []; name: "EpochNotFinalized"; type: "error" },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "totalRewardAmount";
                          type: "uint256";
                      },
                      { internalType: "uint256"; name: "epochRewardAmount"; type: "uint256" },
                  ];
                  name: "EpochRewardExceeded";
                  type: "error";
              },
              { inputs: readonly []; name: "EpochRewardNotDistributed"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidEpoch"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "LastEpochAlreadySet"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "lastEpoch"; type: "uint256" },
                  ];
                  name: "LastEpochExceeded";
                  type: "error";
              },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "a"; type: "uint256" },
                      { internalType: "uint256"; name: "b"; type: "uint256" },
                  ];
                  name: "Test";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "startBlock";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "endBlock";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "rewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochCreated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newDaySize";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDayUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "oldBonusAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newBonusAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpBonusUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "rewardAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "penaltyAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpRewardAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "rewardAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "penaltyAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpRewardOverridden";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                  ];
                  name: "EpochFinalized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newEpochRewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochRewardAmountUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newEpochSize";
                          type: "uint256";
                      },
                  ];
                  name: "EpochSizeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "startBlock";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "endBlock";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "rewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "lastEpoch";
                          type: "uint256";
                      },
                  ];
                  name: "LastEpochSet";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DLP_PERFORMANCE_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DLP_REWARD_DEPLOYER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "addEpochDlpBonusAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "createEpochs";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "blockNumber"; type: "uint256" },
                  ];
                  name: "createEpochsUntilBlockNumber";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "daySize";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpPerformance";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPPerformance";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistry";
                  outputs: readonly [
                      { internalType: "contract IDLPRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRewardDeployer";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPRewardDeployer";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "epochDlpIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "epochDlpIdsWithBonus";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "epochDlps";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "bool"; name: "isTopDlp"; type: "bool" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "bonusAmount"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "distributedAmount";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "distributedPenaltyAmount";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IVanaEpoch.EpochDlpInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "epochRewardAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "epochSize";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "epochs";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                              { internalType: "bool"; name: "isFinalized"; type: "bool" },
                          ];
                          internalType: "struct IVanaEpoch.EpochInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "epochsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "forceFinalizedEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              {
                                  internalType: "address";
                                  name: "dlpRegistryAddress";
                                  type: "address";
                              },
                              { internalType: "uint256"; name: "daySize"; type: "uint256" },
                              { internalType: "uint256"; name: "epochSize"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "epochRewardAmount";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct VanaEpochImplementation.InitializeParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "lastEpoch";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "overrideEpochDlpBonusAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                      { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                  ];
                  name: "overrideEpochDlpReward";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                          ];
                          internalType: "struct IVanaEpoch.Rewards[]";
                          name: "dlpRewards";
                          type: "tuple[]";
                      },
                  ];
                  name: "saveEpochDlpRewards";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "_lastEpoch"; type: "uint256" },
                  ];
                  name: "setLastEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newDaySize"; type: "uint256" },
                  ];
                  name: "updateDaySize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpPerformanceAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpPerformance";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRewardDeployerAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRewardDeployer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                      { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                      { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                          ];
                          internalType: "struct IVanaEpoch.Rewards[]";
                          name: "dlpRewards";
                          type: "tuple[]";
                      },
                      { internalType: "bool"; name: "isFinalized"; type: "bool" },
                  ];
                  name: "updateEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newEpochRewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "updateEpochRewardAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newEpochSizeInDays";
                          type: "uint256";
                      },
                  ];
                  name: "updateEpochSize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newEpochsCount"; type: "uint256" },
                  ];
                  name: "updateEpochsCount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          DLPRegistry: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "DlpAddressCannotBeChanged"; type: "error" },
              { inputs: readonly []; name: "DlpLpTokenIdNotSet"; type: "error" },
              { inputs: readonly []; name: "DlpTokenNotSet"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidAddress"; type: "error" },
              { inputs: readonly []; name: "InvalidDepositAmount"; type: "error" },
              { inputs: readonly []; name: "InvalidDlpId"; type: "error" },
              { inputs: readonly []; name: "InvalidDlpStatus"; type: "error" },
              { inputs: readonly []; name: "InvalidDlpVerification"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidLpTokenId"; type: "error" },
              { inputs: readonly []; name: "InvalidName"; type: "error" },
              { inputs: readonly []; name: "InvalidTokenAddress"; type: "error" },
              { inputs: readonly []; name: "NotDlpOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "lpTokenId";
                          type: "uint256";
                      },
                  ];
                  name: "DlpLpTokenIdUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "dlpAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "treasuryAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "iconUrl";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "website";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "metadata";
                          type: "string";
                      },
                  ];
                  name: "DlpRegistered";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newDlpRegistrationDepositAmount";
                          type: "uint256";
                      },
                  ];
                  name: "DlpRegistrationDepositAmountUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "enum IDLPRegistry.DlpStatus";
                          name: "newStatus";
                          type: "uint8";
                      },
                  ];
                  name: "DlpStatusUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "tokenAddress";
                          type: "address";
                      },
                  ];
                  name: "DlpTokenUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "dlpAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "treasuryAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "iconUrl";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "website";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "metadata";
                          type: "string";
                      },
                  ];
                  name: "DlpUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "verificationBlockNumber";
                          type: "uint256";
                      },
                  ];
                  name: "DlpVerificationBlockUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "bool"; name: "verified"; type: "bool" },
                  ];
                  name: "DlpVerificationUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "deregisterDlp";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "dlpAddress"; type: "address" },
                  ];
                  name: "dlpIds";
                  outputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "dlpName"; type: "string" },
                  ];
                  name: "dlpNameToId";
                  outputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistrationDepositAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "dlps";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "dlpAddress"; type: "address" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                              { internalType: "address"; name: "treasuryAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "iconUrl"; type: "string" },
                              { internalType: "string"; name: "website"; type: "string" },
                              { internalType: "string"; name: "metadata"; type: "string" },
                              {
                                  internalType: "uint256";
                                  name: "registrationBlockNumber";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "depositAmount"; type: "uint256" },
                              {
                                  internalType: "enum IDLPRegistry.DlpStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "verificationBlockNumber";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRegistry.DlpInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "dlpAddress"; type: "address" },
                  ];
                  name: "dlpsByAddress";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "dlpAddress"; type: "address" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                              { internalType: "address"; name: "treasuryAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "iconUrl"; type: "string" },
                              { internalType: "string"; name: "website"; type: "string" },
                              { internalType: "string"; name: "metadata"; type: "string" },
                              {
                                  internalType: "uint256";
                                  name: "registrationBlockNumber";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "depositAmount"; type: "uint256" },
                              {
                                  internalType: "enum IDLPRegistry.DlpStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "verificationBlockNumber";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRegistry.DlpInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "dlpName"; type: "string" },
                  ];
                  name: "dlpsByName";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "dlpAddress"; type: "address" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                              { internalType: "address"; name: "treasuryAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "iconUrl"; type: "string" },
                              { internalType: "string"; name: "website"; type: "string" },
                              { internalType: "string"; name: "metadata"; type: "string" },
                              {
                                  internalType: "uint256";
                                  name: "registrationBlockNumber";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "depositAmount"; type: "uint256" },
                              {
                                  internalType: "enum IDLPRegistry.DlpStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "verificationBlockNumber";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRegistry.DlpInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "eligibleDlpsListAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eligibleDlpsListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eligibleDlpsListValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "isEligibleDlp";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRootCoreAddress";
                          type: "address";
                      },
                      { internalType: "uint256"; name: "startDlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "endDlpId"; type: "uint256" },
                  ];
                  name: "migrateDlpData";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "dlpAddress"; type: "address" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              {
                                  internalType: "address payable";
                                  name: "treasuryAddress";
                                  type: "address";
                              },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "iconUrl"; type: "string" },
                              { internalType: "string"; name: "website"; type: "string" },
                              { internalType: "string"; name: "metadata"; type: "string" },
                          ];
                          internalType: "struct IDLPRegistry.DlpRegistration";
                          name: "registrationInfo";
                          type: "tuple";
                      },
                  ];
                  name: "registerDlp";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "treasury";
                  outputs: readonly [
                      { internalType: "contract ITreasury"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "unverifyDlp";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "dlpAddress"; type: "address" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              {
                                  internalType: "address payable";
                                  name: "treasuryAddress";
                                  type: "address";
                              },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "iconUrl"; type: "string" },
                              { internalType: "string"; name: "website"; type: "string" },
                              { internalType: "string"; name: "metadata"; type: "string" },
                          ];
                          internalType: "struct IDLPRegistry.DlpRegistration";
                          name: "dlpUpdateInfo";
                          type: "tuple";
                      },
                  ];
                  name: "updateDlp";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newDlpRegistrationDepositAmount";
                          type: "uint256";
                      },
                  ];
                  name: "updateDlpRegistrationDepositAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "tokenAddress"; type: "address" },
                      { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                  ];
                  name: "updateDlpToken";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "tokenAddress"; type: "address" },
                      { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "verificationBlockNumber";
                          type: "uint256";
                      },
                  ];
                  name: "updateDlpTokenAndVerification";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "verificationBlockNumber";
                          type: "uint256";
                      },
                  ];
                  name: "updateDlpVerificationBlock";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "treasuryAddress"; type: "address" },
                  ];
                  name: "updateTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "vanaEpochAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaEpoch";
                  outputs: readonly [
                      { internalType: "contract IVanaEpoch"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          DLPRegistryTreasury: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "to";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CUSTODIAN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "custodian";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initCustodian"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newCustodian"; type: "address" },
                  ];
                  name: "updateCustodian";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DLPRewardDeployerTreasury: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "to";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CUSTODIAN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "custodian";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initCustodian"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newCustodian"; type: "address" },
                  ];
                  name: "updateCustodian";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DLPRegistryTreasuryImplementation: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "to";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CUSTODIAN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "custodian";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initCustodian"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newCustodian"; type: "address" },
                  ];
                  name: "updateCustodian";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DLPPerformance: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "DlpNotEligible";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "DuplicateDlpId";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EpochAlreadyFinalized"; type: "error" },
              { inputs: readonly []; name: "EpochNotEnded"; type: "error" },
              { inputs: readonly []; name: "EpochNotFinalized"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidDataAccessFeesScore"; type: "error" },
              {
                  inputs: readonly [];
                  name: "InvalidEpochDlpPerformancesCount";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidMetricWeights"; type: "error" },
              { inputs: readonly []; name: "InvalidPenaltyScores"; type: "error" },
              { inputs: readonly []; name: "InvalidTradingVolumeScore"; type: "error" },
              {
                  inputs: readonly [];
                  name: "InvalidUniqueContributorsScore";
                  type: "error";
              },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "distributedPenaltyAmount";
                          type: "uint256";
                      },
                  ];
                  name: "PenaltyAmountLessThanPenaltyDistributed";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolumeScorePenalty";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributorsScorePenalty";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFeesScorePenalty";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpPenaltyUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolume";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributors";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFees";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolumeScore";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributorsScore";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFeesScore";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpPerformancesOverridden";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolume";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributors";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFees";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolumeScore";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributorsScore";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFeesScore";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpPerformancesSaved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tradingVolume";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "uniqueContributors";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "dataAccessFees";
                          type: "uint256";
                      },
                  ];
                  name: "MetricWeightsUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MANAGER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "calculateEpochDlpRewards";
                  outputs: readonly [
                      { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                      { internalType: "uint256"; name: "penaltyAmount"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "confirmEpochFinalScores";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistry";
                  outputs: readonly [
                      { internalType: "contract IDLPRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "epochDlpPerformances";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "totalScore"; type: "uint256" },
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "tradingVolumeScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributorsScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "dataAccessFeesScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "tradingVolumeScorePenalty";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributorsScorePenalty";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "dataAccessFeesScorePenalty";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPPerformance.EpochDlpPerformanceInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "epochMetricWeights";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                          ];
                          internalType: "struct IDLPPerformance.MetricWeights";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "dlpRegistryAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "metricWeights";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                          ];
                          internalType: "struct IDLPPerformance.MetricWeights";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "tradingVolumeScorePenalty";
                          type: "uint256";
                      },
                      {
                          internalType: "uint256";
                          name: "uniqueContributorsScorePenalty";
                          type: "uint256";
                      },
                      {
                          internalType: "uint256";
                          name: "dataAccessFeesScorePenalty";
                          type: "uint256";
                      },
                  ];
                  name: "overrideEpochDlpPenalty";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "overrideEpochDlpReward";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "tradingVolumeScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributorsScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "dataAccessFeesScore";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPPerformance.EpochDlpPerformanceInput[]";
                          name: "newEpochDlpPerformances";
                          type: "tuple[]";
                      },
                  ];
                  name: "overrideEpochPerformances";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "tradingVolumeScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributorsScore";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "dataAccessFeesScore";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPPerformance.EpochDlpPerformanceInput[]";
                          name: "newEpochDlpPerformances";
                          type: "tuple[]";
                      },
                  ];
                  name: "saveEpochPerformances";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "tradingVolume"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "uniqueContributors";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "dataAccessFees"; type: "uint256" },
                          ];
                          internalType: "struct IDLPPerformance.MetricWeights";
                          name: "newMetricWeights";
                          type: "tuple";
                      },
                  ];
                  name: "updateMetricWeights";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "vanaEpochAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaEpoch";
                  outputs: readonly [
                      { internalType: "contract IVanaEpoch"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          DLPRewardDeployer: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EpochNotFinalized"; type: "error" },
              { inputs: readonly []; name: "EpochRewardsNotInitialized"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "NothingToDistribute";
                  type: "error";
              },
              { inputs: readonly []; name: "NothingToWithdraw"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "trancheCount"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "nextTrancheMinBlock";
                          type: "uint256";
                      },
                  ];
                  name: "NumberOfBlocksBetweenTranchesNotPassed";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "RolloverNotPossible"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "trancheCount"; type: "uint256" },
                      { internalType: "uint256"; name: "trancheMinBlock"; type: "uint256" },
                  ];
                  name: "TrancheIntervalNotStarted";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "distributedAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "totalPenaltyAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpPenaltyDistributed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "trancheId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "trancheAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tokenRewardAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "spareToken";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "spareVana";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "usedVanaAmount";
                          type: "uint256";
                      },
                  ];
                  name: "EpochDlpRewardDistributed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "numberOfTranches";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "remediationWindow";
                          type: "uint256";
                      },
                  ];
                  name: "EpochRewardsInitialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "REWARD_DEPLOYER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256[]"; name: "dlpIds"; type: "uint256[]" },
                  ];
                  name: "distributeRewards";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRegistry";
                  outputs: readonly [
                      { internalType: "contract IDLPRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRewardSwap";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPRewardSwap";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "epochDlpDistributedRewards";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "blockNumber"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "tokenRewardAmount";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "spareToken"; type: "uint256" },
                              { internalType: "uint256"; name: "spareVana"; type: "uint256" },
                              { internalType: "uint256"; name: "usedVanaAmount"; type: "uint256" },
                          ];
                          internalType: "struct IDLPRewardDeployer.DistributedReward[]";
                          name: "";
                          type: "tuple[]";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "epochDlpRewards";
                  outputs: readonly [
                      {
                          components: readonly [
                              {
                                  internalType: "uint256";
                                  name: "totalDistributedAmount";
                                  type: "uint256";
                              },
                              {
                                  internalType: "uint256";
                                  name: "distributedPenaltyAmount";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "tranchesCount"; type: "uint256" },
                          ];
                          internalType: "struct IDLPRewardDeployer.EpochDlpRewardInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "epochRewards";
                  outputs: readonly [
                      {
                          components: readonly [
                              {
                                  internalType: "uint256";
                                  name: "distributionInterval";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "numberOfTranches"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "remediationWindow";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRewardDeployer.EpochRewardInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "dlpRegistryAddress"; type: "address" },
                      { internalType: "address"; name: "vanaEpochAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "dlpRewardSwapAddress";
                          type: "address";
                      },
                      {
                          internalType: "uint256";
                          name: "newNumberOfBlocksBetweenTranches";
                          type: "uint256";
                      },
                      {
                          internalType: "uint256";
                          name: "newRewardPercentage";
                          type: "uint256";
                      },
                      {
                          internalType: "uint256";
                          name: "newMaximumSlippagePercentage";
                          type: "uint256";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      {
                          internalType: "uint256";
                          name: "distributionInterval";
                          type: "uint256";
                      },
                      { internalType: "uint256"; name: "numberOfTranches"; type: "uint256" },
                      { internalType: "uint256"; name: "remediationWindow"; type: "uint256" },
                  ];
                  name: "initializeEpochRewards";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maximumSlippagePercentage";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "numberOfBlocksBetweenTranches";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "rewardPercentage";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "treasury";
                  outputs: readonly [
                      { internalType: "contract ITreasury"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRegistryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "dlpRewardSwapAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRewardSwap";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newMaximumSlippagePercentage";
                          type: "uint256";
                      },
                  ];
                  name: "updateMaximumSlippagePercentage";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newNumberOfBlocksBetweenTranches";
                          type: "uint256";
                      },
                  ];
                  name: "updateNumberOfBlocksBetweenTranches";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newRewardPercentage";
                          type: "uint256";
                      },
                  ];
                  name: "updateRewardPercentage";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "treasuryAddress"; type: "address" },
                  ];
                  name: "updateTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "vanaEpochAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaEpoch";
                  outputs: readonly [
                      { internalType: "contract IVanaEpoch"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "recipientAddress"; type: "address" },
                  ];
                  name: "withdrawEpochDlpPenaltyAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DLPRewardSwap: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                      { internalType: "uint256"; name: "used"; type: "uint256" },
                      { internalType: "uint256"; name: "spareVana"; type: "uint256" },
                      { internalType: "uint256"; name: "unusedVana"; type: "uint256" },
                  ];
                  name: "DLPRewardSwap__AmountMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "expected"; type: "uint256" },
                      { internalType: "uint256"; name: "actual"; type: "uint256" },
                  ];
                  name: "DLPRewardSwap__InsufficientAmount";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__InvalidLpTokenId";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__InvalidRange";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__InvalidRewardPercentage";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__InvalidSlippagePercentage";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__LPAmountMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint128"; name: "expected"; type: "uint128" },
                      { internalType: "uint128"; name: "actual"; type: "uint128" },
                  ];
                  name: "DLPRewardSwap__LiquidityMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "expected"; type: "uint256" },
                      { internalType: "uint256"; name: "actual"; type: "uint256" },
                  ];
                  name: "DLPRewardSwap__SpareAmountMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "expected"; type: "uint256" },
                      { internalType: "uint256"; name: "actual"; type: "uint256" },
                  ];
                  name: "DLPRewardSwap__VanaInMismatch";
                  type: "error";
              },
              { inputs: readonly []; name: "DLPRewardSwap__ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "DLPRewardSwap__ZeroAmount"; type: "error" },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__ZeroAmountSwapIn";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "DLPRewardSwap__ZeroLiquidity";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              { inputs: readonly []; name: "T"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "recipient";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "usedVanaForReward";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "tokenRewardAmount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "usedVanaForLp";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "liquidityDelta";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "spareVana";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "spareToken";
                          type: "uint256";
                      },
                  ];
                  name: "Reward";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "ONE_HUNDRED_PERCENT";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "contract ISwapHelper";
                          name: "initSwapHelper";
                          type: "address";
                      },
                      {
                          internalType: "contract INonfungiblePositionManager";
                          name: "initPositionManager";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "positionManager";
                  outputs: readonly [
                      {
                          internalType: "contract INonfungiblePositionManager";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                              { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardPercentage"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "maximumSlippagePercentage";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRewardSwap.QuoteSplitRewardSwapParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "quoteSplitRewardSwap";
                  outputs: readonly [
                      {
                          internalType: "uint256";
                          name: "tokenRewardAmount";
                          type: "uint256";
                      },
                      { internalType: "uint256"; name: "spareToken"; type: "uint256" },
                      { internalType: "uint256"; name: "spareVana"; type: "uint256" },
                      { internalType: "uint256"; name: "usedVanaAmount"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "lpTokenId"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardPercentage"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "maximumSlippagePercentage";
                                  type: "uint256";
                              },
                              { internalType: "address"; name: "rewardRecipient"; type: "address" },
                              { internalType: "address"; name: "spareRecipient"; type: "address" },
                          ];
                          internalType: "struct IDLPRewardSwap.SplitRewardSwapParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "splitRewardSwap";
                  outputs: readonly [
                      {
                          internalType: "uint256";
                          name: "tokenRewardAmount";
                          type: "uint256";
                      },
                      { internalType: "uint256"; name: "spareToken"; type: "uint256" },
                      { internalType: "uint256"; name: "spareVana"; type: "uint256" },
                      { internalType: "uint256"; name: "usedVanaAmount"; type: "uint256" },
                  ];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "swapHelper";
                  outputs: readonly [
                      { internalType: "contract ISwapHelper"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract INonfungiblePositionManager";
                          name: "newPositionManager";
                          type: "address";
                      },
                  ];
                  name: "updatePositionManager";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract ISwapHelper";
                          name: "newSwapHelper";
                          type: "address";
                      },
                  ];
                  name: "updateSwapHelper";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          SwapHelper: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "MathOverflowedMulDiv"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "R"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint8"; name: "bits"; type: "uint8" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "SafeCastOverflowedUintDowncast";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "SafeCastOverflowedUintToInt";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "SwapHelper__InvalidAmountIn";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "SwapHelper__InvalidSlippagePercentage";
                  type: "error";
              },
              { inputs: readonly []; name: "SwapHelper__ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "T"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "Uniswap__AS"; type: "error" },
              { inputs: readonly []; name: "Uniswap__SPL"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "ONE_HUNDRED_PERCENT";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "WVANA";
                  outputs: readonly [
                      { internalType: "contract IWVANA"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "tokenIn"; type: "address" },
                              { internalType: "address"; name: "tokenOut"; type: "address" },
                              { internalType: "uint24"; name: "fee"; type: "uint24" },
                              { internalType: "address"; name: "recipient"; type: "address" },
                              { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                              { internalType: "uint256"; name: "amountOutMinimum"; type: "uint256" },
                          ];
                          internalType: "struct ISwapHelper.ExactInputSingleParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "exactInputSingle";
                  outputs: readonly [
                      { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                  ];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "tokenA"; type: "address" },
                      { internalType: "address"; name: "tokenB"; type: "address" },
                      { internalType: "uint24"; name: "fee"; type: "uint24" },
                  ];
                  name: "getPool";
                  outputs: readonly [
                      {
                          internalType: "contract IUniswapV3Pool";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "initUniswapV3Router";
                          type: "address";
                      },
                      {
                          internalType: "contract IQuoterV2";
                          name: "initUniswapV3Quoter";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "tokenIn"; type: "address" },
                              { internalType: "address"; name: "tokenOut"; type: "address" },
                              { internalType: "uint24"; name: "fee"; type: "uint24" },
                              { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                          ];
                          internalType: "struct ISwapHelper.QuoteExactInputSingleParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "quoteExactInputSingle";
                  outputs: readonly [
                      { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "tokenIn"; type: "address" },
                              { internalType: "address"; name: "tokenOut"; type: "address" },
                              { internalType: "uint24"; name: "fee"; type: "uint24" },
                              { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                              { internalType: "uint160"; name: "sqrtPriceX96"; type: "uint160" },
                              { internalType: "uint128"; name: "liquidity"; type: "uint128" },
                              {
                                  internalType: "uint256";
                                  name: "maximumSlippagePercentage";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct ISwapHelper.QuoteSlippageExactInputSingleParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "quoteSlippageExactInputSingle";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                              { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                              { internalType: "uint256"; name: "amountToPay"; type: "uint256" },
                              { internalType: "uint256"; name: "amountReceived"; type: "uint256" },
                              {
                                  internalType: "uint160";
                                  name: "sqrtPriceX96After";
                                  type: "uint160";
                              },
                              {
                                  internalType: "uint160";
                                  name: "sqrtPriceLimitX96";
                                  type: "uint160";
                              },
                          ];
                          internalType: "struct ISwapHelper.Quote";
                          name: "quote";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IUniswapV3Pool";
                          name: "pool";
                          type: "address";
                      },
                      { internalType: "bool"; name: "zeroForOne"; type: "bool" },
                      { internalType: "int256"; name: "amountSpecified"; type: "int256" },
                      { internalType: "uint160"; name: "sqrtPriceLimitX96"; type: "uint160" },
                      {
                          components: readonly [
                              { internalType: "uint160"; name: "sqrtPriceX96"; type: "uint160" },
                              { internalType: "int24"; name: "tick"; type: "int24" },
                              { internalType: "uint128"; name: "liquidity"; type: "uint128" },
                          ];
                          internalType: "struct SwapHelperImplementation.Slot0";
                          name: "slot0Start";
                          type: "tuple";
                      },
                  ];
                  name: "simulateSwap";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "int256"; name: "amount0Delta"; type: "int256" },
                              { internalType: "int256"; name: "amount1Delta"; type: "int256" },
                              { internalType: "uint256"; name: "amountToPay"; type: "uint256" },
                              { internalType: "uint256"; name: "amountReceived"; type: "uint256" },
                              {
                                  internalType: "uint160";
                                  name: "sqrtPriceX96After";
                                  type: "uint160";
                              },
                              {
                                  internalType: "uint160";
                                  name: "sqrtPriceLimitX96";
                                  type: "uint160";
                              },
                          ];
                          internalType: "struct ISwapHelper.Quote";
                          name: "quote";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "tokenIn"; type: "address" },
                              { internalType: "address"; name: "tokenOut"; type: "address" },
                              { internalType: "uint24"; name: "fee"; type: "uint24" },
                              { internalType: "address"; name: "recipient"; type: "address" },
                              { internalType: "uint256"; name: "amountIn"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "maximumSlippagePercentage";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct ISwapHelper.SlippageSwapParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "slippageExactInputSingle";
                  outputs: readonly [
                      { internalType: "uint256"; name: "amountInUsed"; type: "uint256" },
                      { internalType: "uint256"; name: "amountOut"; type: "uint256" },
                  ];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "uniswapV3Quoter";
                  outputs: readonly [
                      { internalType: "contract IQuoterV2"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "uniswapV3Router";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IQuoterV2";
                          name: "newUniswapV3Quoter";
                          type: "address";
                      },
                  ];
                  name: "updateUniswapV3Quoter";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newUniswapV3Router";
                          type: "address";
                      },
                  ];
                  name: "updateUniswapV3Router";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          VanaTreasury: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "to";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CUSTODIAN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "custodian";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "initCustodian"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "address"; name: "token"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newCustodian"; type: "address" },
                  ];
                  name: "updateCustodian";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DataLiquidityPool: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "AddressInsufficientBalance";
                  type: "error";
              },
              { inputs: readonly []; name: "ECDSAInvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "ECDSAInvalidSignatureLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "ECDSAInvalidSignatureS";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "FileAlreadyAdded"; type: "error" },
              { inputs: readonly []; name: "InvalidAttestator"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidProof"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                  ];
                  name: "OwnableInvalidOwner";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "OwnableUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "token"; type: "address" },
                  ];
                  name: "SafeERC20FailedOperation";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                  ];
                  name: "FileInvalidated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newFileRewardFactor";
                          type: "uint256";
                      },
                  ];
                  name: "FileRewardFactorUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                  ];
                  name: "FileValidated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "previousOwner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "newOwner";
                          type: "address";
                      },
                  ];
                  name: "OwnershipTransferStarted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "previousOwner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "newOwner";
                          type: "address";
                      },
                  ];
                  name: "OwnershipTransferred";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "string";
                          name: "newProofInstruction";
                          type: "string";
                      },
                  ];
                  name: "ProofInstructionUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "string";
                          name: "newPublicKey";
                          type: "string";
                      },
                  ];
                  name: "PublicKeyUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "contributorAddress";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "proofIndex";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "rewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "RewardRequested";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "newTeePool";
                          type: "address";
                      },
                  ];
                  name: "TeePoolUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "acceptOwnership";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "contributorsRewardAmount";
                          type: "uint256";
                      },
                  ];
                  name: "addRewardsForContributors";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "contributorAddress";
                          type: "address";
                      },
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "contributorFiles";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "fileId"; type: "uint256" },
                              { internalType: "uint256"; name: "timestamp"; type: "uint256" },
                              { internalType: "uint256"; name: "proofIndex"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                          ];
                          internalType: "struct IDataLiquidityPool.FileResponse";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "contributorAddress";
                          type: "address";
                      },
                  ];
                  name: "contributorInfo";
                  outputs: readonly [
                      {
                          components: readonly [
                              {
                                  internalType: "address";
                                  name: "contributorAddress";
                                  type: "address";
                              },
                              { internalType: "uint256"; name: "filesListCount"; type: "uint256" },
                          ];
                          internalType: "struct IDataLiquidityPool.ContributorInfoResponse";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "contributors";
                  outputs: readonly [
                      {
                          components: readonly [
                              {
                                  internalType: "address";
                                  name: "contributorAddress";
                                  type: "address";
                              },
                              { internalType: "uint256"; name: "filesListCount"; type: "uint256" },
                          ];
                          internalType: "struct IDataLiquidityPool.ContributorInfoResponse";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "contributorsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataRegistry";
                  outputs: readonly [
                      { internalType: "contract IDataRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "fileRewardFactor";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "files";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "fileId"; type: "uint256" },
                              { internalType: "uint256"; name: "timestamp"; type: "uint256" },
                              { internalType: "uint256"; name: "proofIndex"; type: "uint256" },
                              { internalType: "uint256"; name: "rewardAmount"; type: "uint256" },
                          ];
                          internalType: "struct IDataLiquidityPool.FileResponse";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "filesListAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "filesListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "tokenAddress"; type: "address" },
                              {
                                  internalType: "address";
                                  name: "dataRegistryAddress";
                                  type: "address";
                              },
                              { internalType: "address"; name: "teePoolAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                              { internalType: "string"; name: "proofInstruction"; type: "string" },
                              { internalType: "uint256"; name: "fileRewardFactor"; type: "uint256" },
                          ];
                          internalType: "struct DataLiquidityPoolImplementation.InitParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                  ];
                  name: "multicall";
                  outputs: readonly [
                      { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pendingOwner";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proofInstruction";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "publicKey";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "renounceOwnership";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                      { internalType: "uint256"; name: "proofIndex"; type: "uint256" },
                  ];
                  name: "requestReward";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teePool";
                  outputs: readonly [
                      { internalType: "contract ITeePool"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "token";
                  outputs: readonly [
                      { internalType: "contract IERC20"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "totalContributorsRewardAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newOwner"; type: "address" },
                  ];
                  name: "transferOwnership";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newFileRewardFactor";
                          type: "uint256";
                      },
                  ];
                  name: "updateFileRewardFactor";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "string";
                          name: "newProofInstruction";
                          type: "string";
                      },
                  ];
                  name: "updateProofInstruction";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "newPublicKey"; type: "string" },
                  ];
                  name: "updatePublicKey";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "newTeePool"; type: "address" },
                  ];
                  name: "updateTeePool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          VanaPoolStaking: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "CannotRemoveRegistrationStake";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EntityNotActive"; type: "error" },
              { inputs: readonly []; name: "EntityNotFound"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InsufficientShares"; type: "error" },
              { inputs: readonly []; name: "InsufficientStakeAmount"; type: "error" },
              { inputs: readonly []; name: "InvalidAddress"; type: "error" },
              { inputs: readonly []; name: "InvalidAmount"; type: "error" },
              { inputs: readonly []; name: "InvalidBondingPeriod"; type: "error" },
              { inputs: readonly []; name: "InvalidEntity"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidRecipient"; type: "error" },
              { inputs: readonly []; name: "InvalidSlippage"; type: "error" },
              { inputs: readonly []; name: "NotAuthorized"; type: "error" },
              { inputs: readonly []; name: "NotEntityOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newBondingPeriod";
                          type: "uint256";
                      },
                  ];
                  name: "BondingPeriodUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                  ];
                  name: "EntityStakeRegistered";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newMinStake";
                          type: "uint256";
                      },
                  ];
                  name: "MinStakeUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "staker";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "sharesIssued";
                          type: "uint256";
                      },
                  ];
                  name: "Staked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "staker";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "sharesBurned";
                          type: "uint256";
                      },
                  ];
                  name: "Unstaked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAX_BONDING_PERIOD";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA_POOL_ENTITY_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeStakersListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeStakersListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "from"; type: "uint256" },
                      { internalType: "uint256"; name: "to"; type: "uint256" },
                  ];
                  name: "activeStakersListValues";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "bondingPeriod";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "getAccruingInterest";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "getEarnedRewards";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "getMaxUnstakeAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: "maxVana"; type: "uint256" },
                      { internalType: "uint256"; name: "maxShares"; type: "uint256" },
                      { internalType: "uint256"; name: "limitingFactor"; type: "uint256" },
                      { internalType: "bool"; name: "isInBondingPeriod"; type: "bool" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "inactiveStakersListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "inactiveStakersListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "from"; type: "uint256" },
                      { internalType: "uint256"; name: "to"; type: "uint256" },
                  ];
                  name: "inactiveStakersListValues";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "uint256"; name: "initialMinStake"; type: "uint256" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "minStakeAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "uint256"; name: "registrationStake"; type: "uint256" },
                  ];
                  name: "registerEntityStake";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "address"; name: "recipient"; type: "address" },
                      { internalType: "uint256"; name: "shareAmountMin"; type: "uint256" },
                  ];
                  name: "stake";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "stakerEntities";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "shares"; type: "uint256" },
                              { internalType: "uint256"; name: "costBasis"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "rewardEligibilityTimestamp";
                                  type: "uint256";
                              },
                              { internalType: "uint256"; name: "realizedRewards"; type: "uint256" },
                              { internalType: "uint256"; name: "vestedRewards"; type: "uint256" },
                          ];
                          internalType: "struct IVanaPoolStaking.StakerEntity";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "uint256"; name: "shareAmount"; type: "uint256" },
                      { internalType: "uint256"; name: "vanaAmountMin"; type: "uint256" },
                  ];
                  name: "unstake";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "uint256"; name: "vanaAmount"; type: "uint256" },
                      { internalType: "uint256"; name: "shareAmountMax"; type: "uint256" },
                  ];
                  name: "unstakeVana";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newBondingPeriod";
                          type: "uint256";
                      },
                  ];
                  name: "updateBondingPeriod";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newMinStake"; type: "uint256" },
                  ];
                  name: "updateMinStakeAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newVanaPoolEntityAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaPoolEntity";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newVanaPoolTreasuryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaPoolTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaPoolEntity";
                  outputs: readonly [
                      {
                          internalType: "contract IVanaPoolEntity";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaPoolTreasury";
                  outputs: readonly [
                      {
                          internalType: "contract IVanaPoolTreasury";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          VanaPoolEntity: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EntityNameAlreadyExists"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidAddress"; type: "error" },
              { inputs: readonly []; name: "InvalidEntityId"; type: "error" },
              { inputs: readonly []; name: "InvalidEntityStatus"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidName"; type: "error" },
              { inputs: readonly []; name: "InvalidParam"; type: "error" },
              { inputs: readonly []; name: "InvalidRegistrationStake"; type: "error" },
              { inputs: readonly []; name: "NameTooShort"; type: "error" },
              { inputs: readonly []; name: "NotAuthorized"; type: "error" },
              { inputs: readonly []; name: "NotEntityOwner"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "StakersStillPresent"; type: "error" },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "maxAPY";
                          type: "uint256";
                      },
                  ];
                  name: "EntityCreated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newMaxAPY";
                          type: "uint256";
                      },
                  ];
                  name: "EntityMaxAPYUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "enum IVanaPoolEntity.EntityStatus";
                          name: "newStatus";
                          type: "uint8";
                      },
                  ];
                  name: "EntityStatusUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "ownerAddress";
                          type: "address";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                  ];
                  name: "EntityUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "ForfeitedRewardsReturned";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "RewardsAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "distributedAmount";
                          type: "uint256";
                      },
                  ];
                  name: "RewardsProcessed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "VANA_POOL_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeEntitiesValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "addRewards";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "calculateContinuousAPYByEntity";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "exponent"; type: "uint256" },
                  ];
                  name: "calculateExponential";
                  outputs: readonly [
                      { internalType: "uint256"; name: "r"; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "principal"; type: "uint256" },
                      { internalType: "uint256"; name: "apy"; type: "uint256" },
                      { internalType: "uint256"; name: "time"; type: "uint256" },
                  ];
                  name: "calculateYield";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                          ];
                          internalType: "struct IVanaPoolEntity.EntityRegistrationInfo";
                          name: "entityRegistrationInfo";
                          type: "tuple";
                      },
                  ];
                  name: "createEntity";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "entities";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "entityId"; type: "uint256" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              {
                                  internalType: "enum IVanaPoolEntity.EntityStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "uint256"; name: "maxAPY"; type: "uint256" },
                              { internalType: "uint256"; name: "lockedRewardPool"; type: "uint256" },
                              { internalType: "uint256"; name: "activeRewardPool"; type: "uint256" },
                              { internalType: "uint256"; name: "totalShares"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "lastUpdateTimestamp";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IVanaPoolEntity.EntityInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "entitiesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "entityName"; type: "string" },
                  ];
                  name: "entityByName";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "entityId"; type: "uint256" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              {
                                  internalType: "enum IVanaPoolEntity.EntityStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "uint256"; name: "maxAPY"; type: "uint256" },
                              { internalType: "uint256"; name: "lockedRewardPool"; type: "uint256" },
                              { internalType: "uint256"; name: "activeRewardPool"; type: "uint256" },
                              { internalType: "uint256"; name: "totalShares"; type: "uint256" },
                              {
                                  internalType: "uint256";
                                  name: "lastUpdateTimestamp";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IVanaPoolEntity.EntityInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "entityName"; type: "string" },
                  ];
                  name: "entityNameToId";
                  outputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "entityShareToVana";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "vanaPoolStakingAddress";
                          type: "address";
                      },
                      {
                          internalType: "uint256";
                          name: "initialMinRegistrationStake";
                          type: "uint256";
                      },
                      {
                          internalType: "uint256";
                          name: "initialMaxAPYDefault";
                          type: "uint256";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxAPYDefault";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "minRegistrationStake";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "processRewards";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "returnForfeitedRewards";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "string"; name: "name"; type: "string" },
                          ];
                          internalType: "struct IVanaPoolEntity.EntityRegistrationInfo";
                          name: "entityRegistrationInfo";
                          type: "tuple";
                      },
                  ];
                  name: "updateEntity";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "uint256"; name: "newMaxAPY"; type: "uint256" },
                  ];
                  name: "updateEntityMaxAPY";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                      { internalType: "uint256"; name: "shares"; type: "uint256" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                      { internalType: "bool"; name: "isStake"; type: "bool" },
                  ];
                  name: "updateEntityPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newMinRegistrationStake";
                          type: "uint256";
                      },
                  ];
                  name: "updateMinRegistrationStake";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newVanaPoolStakingAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaPoolStaking";
                  outputs: readonly [
                      {
                          internalType: "contract IVanaPoolStaking";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "vanaToEntityShare";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
          VanaPoolTreasury: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "address"; name: "vanaPoolAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address payable"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transferVana";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "vanaPoolAddress"; type: "address" },
                  ];
                  name: "updateVanaPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaPool";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          DAT: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "AccountBlocked"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length1"; type: "uint256" },
                      { internalType: "uint256"; name: "length2"; type: "uint256" },
                  ];
                  name: "ArrayLengthMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "BlockListDoesNotContain";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                      { internalType: "string"; name: "reason"; type: "string" },
                  ];
                  name: "BlockingRejected";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "increasedSupply"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20ExceededCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "allowance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientAllowance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                      { internalType: "uint256"; name: "balance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "approver"; type: "address" },
                  ];
                  name: "ERC20InvalidApprover";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20InvalidCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "receiver"; type: "address" },
                  ];
                  name: "ERC20InvalidReceiver";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                  ];
                  name: "ERC20InvalidSender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "ERC20InvalidSpender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "paramName"; type: "string" },
                  ];
                  name: "EmptyString";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "IndexOutOfBounds";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressBlocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressUnblocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "spender";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Approval";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "from";
                          type: "address";
                      },
                      { indexed: true; internalType: "address"; name: "to"; type: "address" },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MINTER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "allowance";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "approve";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "balanceOf";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "blockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "i"; type: "uint256" },
                  ];
                  name: "blockListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "blockListLength";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burn";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burnFrom";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "cap";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "decimals";
                  outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "name_"; type: "string" },
                      { internalType: "string"; name: "symbol_"; type: "string" },
                      { internalType: "address"; name: "owner_"; type: "address" },
                      { internalType: "uint256"; name: "cap_"; type: "uint256" },
                      { internalType: "address[]"; name: "receivers"; type: "address[]" },
                      { internalType: "uint256[]"; name: "amounts"; type: "uint256[]" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "isBlocked";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "mint";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "id"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "symbol";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "templateName";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "totalSupply";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "from"; type: "address" },
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transferFrom";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "unblockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
          ];
          DATFactory: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "CapTooLow"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint64"; name: "duration"; type: "uint64" },
                      { internalType: "uint64"; name: "cliff"; type: "uint64" },
                  ];
                  name: "DurationTooShort";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1167FailedCreateClone"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "total"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ExceedsCap";
                  type: "error";
              },
              { inputs: readonly []; name: "ExcessiveCap"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              {
                  inputs: readonly [
                      {
                          internalType: "enum IDATFactory.DATType";
                          name: "datType";
                          type: "uint8";
                      },
                  ];
                  name: "InvalidDATType";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidDefaultCap"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint64"; name: "start"; type: "uint64" },
                      { internalType: "uint64"; name: "cliff"; type: "uint64" },
                  ];
                  name: "StartTimeOverflow";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              { inputs: readonly []; name: "ZeroDuration"; type: "error" },
              { inputs: readonly []; name: "ZeroOwner"; type: "error" },
              { inputs: readonly []; name: "ZeroSalt"; type: "error" },
              { inputs: readonly []; name: "ZeroStartTime"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "token";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "salt";
                          type: "bytes32";
                      },
                      { indexed: false; internalType: "string"; name: "name"; type: "string" },
                      {
                          indexed: false;
                          internalType: "string";
                          name: "symbol";
                          type: "string";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "cap";
                          type: "uint256";
                      },
                  ];
                  name: "DATCreated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "wallet";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "beneficiary";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "start";
                          type: "uint64";
                      },
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "cliff";
                          type: "uint64";
                      },
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "duration";
                          type: "uint64";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "VestingWalletCreated";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          components: readonly [
                              {
                                  internalType: "enum IDATFactory.DATType";
                                  name: "datType";
                                  type: "uint8";
                              },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "symbol"; type: "string" },
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "uint256"; name: "cap"; type: "uint256" },
                              {
                                  components: readonly [
                                      { internalType: "address"; name: "beneficiary"; type: "address" },
                                      { internalType: "uint64"; name: "start"; type: "uint64" },
                                      { internalType: "uint64"; name: "cliff"; type: "uint64" },
                                      { internalType: "uint64"; name: "duration"; type: "uint64" },
                                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                                  ];
                                  internalType: "struct IDATFactory.VestingParams[]";
                                  name: "schedules";
                                  type: "tuple[]";
                              },
                              { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                          ];
                          internalType: "struct IDATFactory.CreateTokenParams";
                          name: "params";
                          type: "tuple";
                      },
                  ];
                  name: "createToken";
                  outputs: readonly [
                      { internalType: "address"; name: "tokenAddr"; type: "address" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "datListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "datListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "datListValues";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "enum IDATFactory.DATType";
                          name: "datType";
                          type: "uint8";
                      },
                  ];
                  name: "datTemplates";
                  outputs: readonly [
                      { internalType: "address"; name: "templateAddress"; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      { internalType: "uint256"; name: "minCap"; type: "uint256" },
                      { internalType: "uint256"; name: "maxCap"; type: "uint256" },
                      { internalType: "address"; name: "datImplementation"; type: "address" },
                      {
                          internalType: "address";
                          name: "datVotesImplementation";
                          type: "address";
                      },
                      {
                          internalType: "address";
                          name: "datPausableImplementation";
                          type: "address";
                      },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "maxCapDefault";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "minCapDefault";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "enum IDATFactory.DATType";
                          name: "datType";
                          type: "uint8";
                      },
                      { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                  ];
                  name: "predictAddress";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
          ];
          DATPausable: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "AccountBlocked"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length1"; type: "uint256" },
                      { internalType: "uint256"; name: "length2"; type: "uint256" },
                  ];
                  name: "ArrayLengthMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "BlockListDoesNotContain";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                      { internalType: "string"; name: "reason"; type: "string" },
                  ];
                  name: "BlockingRejected";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "CheckpointUnorderedInsertion";
                  type: "error";
              },
              { inputs: readonly []; name: "ECDSAInvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "ECDSAInvalidSignatureLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "ECDSAInvalidSignatureS";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "increasedSupply"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20ExceededCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "increasedSupply"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20ExceededSafeSupply";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "allowance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientAllowance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                      { internalType: "uint256"; name: "balance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "approver"; type: "address" },
                  ];
                  name: "ERC20InvalidApprover";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20InvalidCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "receiver"; type: "address" },
                  ];
                  name: "ERC20InvalidReceiver";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                  ];
                  name: "ERC20InvalidSender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "ERC20InvalidSpender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "deadline"; type: "uint256" },
                  ];
                  name: "ERC2612ExpiredSignature";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "signer"; type: "address" },
                      { internalType: "address"; name: "owner"; type: "address" },
                  ];
                  name: "ERC2612InvalidSigner";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                      { internalType: "uint48"; name: "clock"; type: "uint48" },
                  ];
                  name: "ERC5805FutureLookup";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC6372InconsistentClock"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "paramName"; type: "string" },
                  ];
                  name: "EmptyString";
                  type: "error";
              },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "IndexOutOfBounds";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "currentNonce"; type: "uint256" },
                  ];
                  name: "InvalidAccountNonce";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint8"; name: "bits"; type: "uint8" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "SafeCastOverflowedUintDowncast";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "expiry"; type: "uint256" },
                  ];
                  name: "VotesExpiredSignature";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressBlocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressUnblocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "spender";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Approval";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "delegator";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "fromDelegate";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "toDelegate";
                          type: "address";
                      },
                  ];
                  name: "DelegateChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "delegate";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "previousVotes";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newVotes";
                          type: "uint256";
                      },
                  ];
                  name: "DelegateVotesChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [];
                  name: "EIP712DomainChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "from";
                          type: "address";
                      },
                      { indexed: true; internalType: "address"; name: "to"; type: "address" },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CLOCK_MODE";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DOMAIN_SEPARATOR";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MINTER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "allowance";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "approve";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "balanceOf";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "blockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "i"; type: "uint256" },
                  ];
                  name: "blockListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "blockListLength";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burn";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burnFrom";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "cap";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint32"; name: "pos"; type: "uint32" },
                  ];
                  name: "checkpoints";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint48"; name: "_key"; type: "uint48" },
                              { internalType: "uint208"; name: "_value"; type: "uint208" },
                          ];
                          internalType: "struct Checkpoints.Checkpoint208";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "clock";
                  outputs: readonly [{ internalType: "uint48"; name: ""; type: "uint48" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "decimals";
                  outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "delegatee"; type: "address" },
                  ];
                  name: "delegate";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "delegatee"; type: "address" },
                      { internalType: "uint256"; name: "nonce"; type: "uint256" },
                      { internalType: "uint256"; name: "expiry"; type: "uint256" },
                      { internalType: "uint8"; name: "v"; type: "uint8" },
                      { internalType: "bytes32"; name: "r"; type: "bytes32" },
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "delegateBySig";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "delegates";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eip712Domain";
                  outputs: readonly [
                      { internalType: "bytes1"; name: "fields"; type: "bytes1" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "version"; type: "string" },
                      { internalType: "uint256"; name: "chainId"; type: "uint256" },
                      { internalType: "address"; name: "verifyingContract"; type: "address" },
                      { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                      { internalType: "uint256[]"; name: "extensions"; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                  ];
                  name: "getPastTotalSupply";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                  ];
                  name: "getPastVotes";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "getVotes";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "name_"; type: "string" },
                      { internalType: "string"; name: "symbol_"; type: "string" },
                      { internalType: "address"; name: "owner_"; type: "address" },
                      { internalType: "uint256"; name: "cap_"; type: "uint256" },
                      { internalType: "address[]"; name: "receivers"; type: "address[]" },
                      { internalType: "uint256[]"; name: "amounts"; type: "uint256[]" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "isBlocked";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "mint";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                  ];
                  name: "nonces";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "numCheckpoints";
                  outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                      { internalType: "uint256"; name: "deadline"; type: "uint256" },
                      { internalType: "uint8"; name: "v"; type: "uint8" },
                      { internalType: "bytes32"; name: "r"; type: "bytes32" },
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "permit";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "id"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "symbol";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "templateName";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "totalSupply";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "from"; type: "address" },
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transferFrom";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "unblockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
          ];
          DATVotes: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              { inputs: readonly []; name: "AccountBlocked"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length1"; type: "uint256" },
                      { internalType: "uint256"; name: "length2"; type: "uint256" },
                  ];
                  name: "ArrayLengthMismatch";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "BlockListDoesNotContain";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                      { internalType: "string"; name: "reason"; type: "string" },
                  ];
                  name: "BlockingRejected";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "CheckpointUnorderedInsertion";
                  type: "error";
              },
              { inputs: readonly []; name: "ECDSAInvalidSignature"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "ECDSAInvalidSignatureLength";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "ECDSAInvalidSignatureS";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "increasedSupply"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20ExceededCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "increasedSupply"; type: "uint256" },
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20ExceededSafeSupply";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "allowance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientAllowance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                      { internalType: "uint256"; name: "balance"; type: "uint256" },
                      { internalType: "uint256"; name: "needed"; type: "uint256" },
                  ];
                  name: "ERC20InsufficientBalance";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "approver"; type: "address" },
                  ];
                  name: "ERC20InvalidApprover";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "cap"; type: "uint256" },
                  ];
                  name: "ERC20InvalidCap";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "receiver"; type: "address" },
                  ];
                  name: "ERC20InvalidReceiver";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "sender"; type: "address" },
                  ];
                  name: "ERC20InvalidSender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "ERC20InvalidSpender";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "deadline"; type: "uint256" },
                  ];
                  name: "ERC2612ExpiredSignature";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "signer"; type: "address" },
                      { internalType: "address"; name: "owner"; type: "address" },
                  ];
                  name: "ERC2612InvalidSigner";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                      { internalType: "uint48"; name: "clock"; type: "uint48" },
                  ];
                  name: "ERC5805FutureLookup";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC6372InconsistentClock"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "paramName"; type: "string" },
                  ];
                  name: "EmptyString";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                      { internalType: "uint256"; name: "length"; type: "uint256" },
                  ];
                  name: "IndexOutOfBounds";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "currentNonce"; type: "uint256" },
                  ];
                  name: "InvalidAccountNonce";
                  type: "error";
              },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "uint8"; name: "bits"; type: "uint8" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "SafeCastOverflowedUintDowncast";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "expiry"; type: "uint256" },
                  ];
                  name: "VotesExpiredSignature";
                  type: "error";
              },
              { inputs: readonly []; name: "ZeroAddress"; type: "error" },
              { inputs: readonly []; name: "ZeroAmount"; type: "error" },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressBlocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      { indexed: true; internalType: "address"; name: ""; type: "address" },
                  ];
                  name: "AddressUnblocked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "owner";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "spender";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Approval";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "delegator";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "fromDelegate";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "toDelegate";
                          type: "address";
                      },
                  ];
                  name: "DelegateChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "delegate";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "previousVotes";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newVotes";
                          type: "uint256";
                      },
                  ];
                  name: "DelegateVotesChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [];
                  name: "EIP712DomainChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "from";
                          type: "address";
                      },
                      { indexed: true; internalType: "address"; name: "to"; type: "address" },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "value";
                          type: "uint256";
                      },
                  ];
                  name: "Transfer";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "CLOCK_MODE";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "DOMAIN_SEPARATOR";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MINTER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "spender"; type: "address" },
                  ];
                  name: "allowance";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "approve";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "balanceOf";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "blockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "i"; type: "uint256" },
                  ];
                  name: "blockListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "blockListLength";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burn";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "burnFrom";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "cap";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint32"; name: "pos"; type: "uint32" },
                  ];
                  name: "checkpoints";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint48"; name: "_key"; type: "uint48" },
                              { internalType: "uint208"; name: "_value"; type: "uint208" },
                          ];
                          internalType: "struct Checkpoints.Checkpoint208";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "clock";
                  outputs: readonly [{ internalType: "uint48"; name: ""; type: "uint48" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "decimals";
                  outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "delegatee"; type: "address" },
                  ];
                  name: "delegate";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "delegatee"; type: "address" },
                      { internalType: "uint256"; name: "nonce"; type: "uint256" },
                      { internalType: "uint256"; name: "expiry"; type: "uint256" },
                      { internalType: "uint8"; name: "v"; type: "uint8" },
                      { internalType: "bytes32"; name: "r"; type: "bytes32" },
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "delegateBySig";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "delegates";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "eip712Domain";
                  outputs: readonly [
                      { internalType: "bytes1"; name: "fields"; type: "bytes1" },
                      { internalType: "string"; name: "name"; type: "string" },
                      { internalType: "string"; name: "version"; type: "string" },
                      { internalType: "uint256"; name: "chainId"; type: "uint256" },
                      { internalType: "address"; name: "verifyingContract"; type: "address" },
                      { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                      { internalType: "uint256[]"; name: "extensions"; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                  ];
                  name: "getPastTotalSupply";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "uint256"; name: "timepoint"; type: "uint256" },
                  ];
                  name: "getPastVotes";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "getVotes";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "string"; name: "name_"; type: "string" },
                      { internalType: "string"; name: "symbol_"; type: "string" },
                      { internalType: "address"; name: "owner_"; type: "address" },
                      { internalType: "uint256"; name: "cap_"; type: "uint256" },
                      { internalType: "address[]"; name: "receivers"; type: "address[]" },
                      { internalType: "uint256[]"; name: "amounts"; type: "uint256[]" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "isBlocked";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                  ];
                  name: "mint";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "name";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                  ];
                  name: "nonces";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "numCheckpoints";
                  outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "owner"; type: "address" },
                      { internalType: "address"; name: "spender"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                      { internalType: "uint256"; name: "deadline"; type: "uint256" },
                      { internalType: "uint8"; name: "v"; type: "uint8" },
                      { internalType: "bytes32"; name: "r"; type: "bytes32" },
                      { internalType: "bytes32"; name: "s"; type: "bytes32" },
                  ];
                  name: "permit";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "id"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "symbol";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "templateName";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "totalSupply";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transfer";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "from"; type: "address" },
                      { internalType: "address"; name: "to"; type: "address" },
                      { internalType: "uint256"; name: "value"; type: "uint256" },
                  ];
                  name: "transferFrom";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "addr"; type: "address" },
                  ];
                  name: "unblockAddress";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
          ];
          DLPRoot: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              {
                  inputs: readonly [];
                  name: "CheckpointUnorderedInsertion";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "EpochNotEnded"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InvalidAddress"; type: "error" },
              { inputs: readonly []; name: "InvalidDlpId"; type: "error" },
              { inputs: readonly []; name: "InvalidDlpStatus"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidParam"; type: "error" },
              { inputs: readonly []; name: "InvalidStakeAmount"; type: "error" },
              { inputs: readonly []; name: "InvalidStakersPercentage"; type: "error" },
              { inputs: readonly []; name: "LastEpochMustBeFinalised"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotStakeOwner"; type: "error" },
              { inputs: readonly []; name: "NothingToClaim"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "StakeActionPaused"; type: "error" },
              { inputs: readonly []; name: "StakeAlreadyClosed"; type: "error" },
              { inputs: readonly []; name: "StakeAlreadyWithdrawn"; type: "error" },
              { inputs: readonly []; name: "StakeNotClosed"; type: "error" },
              { inputs: readonly []; name: "StakeWithdrawalTooEarly"; type: "error" },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newMinStakeAmount";
                          type: "uint256";
                      },
                  ];
                  name: "MinStakeAmountUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newRewardClaimDelay";
                          type: "uint256";
                      },
                  ];
                  name: "RewardClaimDelayUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                  ];
                  name: "RewardMigratedToVanaPool";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                  ];
                  name: "StakeClosed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "staker";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "dlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "StakeCreated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "oldStakeId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newStakeId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "newDlpId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newAmount";
                          type: "uint256";
                      },
                  ];
                  name: "StakeMigrated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "entityId";
                          type: "uint256";
                      },
                  ];
                  name: "StakeMigratedToVanaPool";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "epochId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                      { indexed: false; internalType: "bool"; name: "isFinal"; type: "bool" },
                  ];
                  name: "StakeRewardClaimed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "newStakeWithdrawalDelay";
                          type: "uint256";
                      },
                  ];
                  name: "StakeWithdrawalDelayUpdated";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "stakeId";
                          type: "uint256";
                      },
                  ];
                  name: "StakeWithdrawn";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "NEW_MULTIPLIER_EPOCH";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                  ];
                  name: "calculateStakeClaimableAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeAmount"; type: "uint256" },
                      { internalType: "uint256"; name: "stakeStartBlock"; type: "uint256" },
                      { internalType: "uint256"; name: "blockNumber"; type: "uint256" },
                  ];
                  name: "calculateStakeScore";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "lastEpochToClaim"; type: "uint256" },
                  ];
                  name: "claimStakeRewardUntilEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256[]"; name: "stakeIds"; type: "uint256[]" },
                  ];
                  name: "claimStakesReward";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256[]"; name: "stakeIds"; type: "uint256[]" },
                  ];
                  name: "closeStakes";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "createStake";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                      { internalType: "address"; name: "stakeOwner"; type: "address" },
                  ];
                  name: "createStakeOnBehalf";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRootCore";
                  outputs: readonly [
                      { internalType: "contract IDLPRootCore"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRootEpoch";
                  outputs: readonly [
                      { internalType: "contract IDLPRootEpoch"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRootMetrics";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPRootMetrics";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRootRewardsTreasury";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPRootTreasury";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dlpRootStakesTreasury";
                  outputs: readonly [
                      {
                          internalType: "contract IDLPRootTreasury";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "migrateRewardToVanaPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "newDlpId"; type: "uint256" },
                      { internalType: "uint256"; name: "newAmount"; type: "uint256" },
                  ];
                  name: "migrateStake";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "migrateStakeAndRewardToVanaPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "entityId"; type: "uint256" },
                  ];
                  name: "migrateStakeToVanaPool";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "minStakeAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "rewardClaimDelay";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "stakeClaimedAmounts";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                      { internalType: "uint256"; name: "epochId"; type: "uint256" },
                  ];
                  name: "stakeEpochReward";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "stakeWithdrawalDelay";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "stakerAddress"; type: "address" },
                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                  ];
                  name: "stakerDlpStakeAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "stakerDlpsListAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                  ];
                  name: "stakerDlpsListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "staker"; type: "address" },
                  ];
                  name: "stakerDlpsListValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "stakerAddress"; type: "address" },
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "stakerStakesListAt";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "stakerAddress"; type: "address" },
                  ];
                  name: "stakerStakesListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "stakerAddress"; type: "address" },
                  ];
                  name: "stakerStakesListValues";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "stakerAddress"; type: "address" },
                  ];
                  name: "stakerTotalStakeAmount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "stakersListAt";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "stakersListCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "stakeId"; type: "uint256" },
                  ];
                  name: "stakes";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "id"; type: "uint256" },
                              { internalType: "address"; name: "stakerAddress"; type: "address" },
                              { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "startBlock"; type: "uint256" },
                              { internalType: "uint256"; name: "endBlock"; type: "uint256" },
                              { internalType: "bool"; name: "withdrawn"; type: "bool" },
                              {
                                  internalType: "uint256";
                                  name: "lastClaimedEpochId";
                                  type: "uint256";
                              },
                          ];
                          internalType: "struct IDLPRoot.StakeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "stakesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "stakingLastBlockNumber";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRootCoreAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRootCore";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRootEpochAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRootEpoch";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRootMetricsAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRootMetrics";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRootRewardsTreasuryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRootRewardsTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newDlpRootStakesTreasuryAddress";
                          type: "address";
                      },
                  ];
                  name: "updateDlpRootStakesTreasury";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newMinStakeAmount";
                          type: "uint256";
                      },
                  ];
                  name: "updateMinStakeAmount";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newRewardClaimDelay";
                          type: "uint256";
                      },
                  ];
                  name: "updateRewardClaimDelay";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newStakingLastBlockNumber";
                          type: "uint256";
                      },
                  ];
                  name: "updateStakeLastBlockNumber";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "uint256";
                          name: "newStakeWithdrawalDelay";
                          type: "uint256";
                      },
                  ];
                  name: "updateStakeWithdrawalDelay";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newVanaPoolStakingAddress";
                          type: "address";
                      },
                  ];
                  name: "updateVanaPoolStaking";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "vanaPoolStaking";
                  outputs: readonly [
                      {
                          internalType: "contract IVanaPoolStaking";
                          name: "";
                          type: "address";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256[]"; name: "stakeIds"; type: "uint256[]" },
                  ];
                  name: "withdrawStakes";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              { stateMutability: "payable"; type: "receive" },
          ];
          TeePool: readonly [
              {
                  inputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "constructor";
              },
              {
                  inputs: readonly [];
                  name: "AccessControlBadConfirmation";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "account"; type: "address" },
                      { internalType: "bytes32"; name: "neededRole"; type: "bytes32" },
                  ];
                  name: "AccessControlUnauthorizedAccount";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "target"; type: "address" },
                  ];
                  name: "AddressEmptyCode";
                  type: "error";
              },
              { inputs: readonly []; name: "CancelDelayNotPassed"; type: "error" },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "implementation"; type: "address" },
                  ];
                  name: "ERC1967InvalidImplementation";
                  type: "error";
              },
              { inputs: readonly []; name: "ERC1967NonPayable"; type: "error" },
              { inputs: readonly []; name: "EnforcedPause"; type: "error" },
              { inputs: readonly []; name: "ExpectedPause"; type: "error" },
              { inputs: readonly []; name: "FailedInnerCall"; type: "error" },
              { inputs: readonly []; name: "InsufficientFee"; type: "error" },
              { inputs: readonly []; name: "InvalidInitialization"; type: "error" },
              { inputs: readonly []; name: "InvalidJobStatus"; type: "error" },
              { inputs: readonly []; name: "InvalidJobTee"; type: "error" },
              { inputs: readonly []; name: "JobCompleted"; type: "error" },
              { inputs: readonly []; name: "NoActiveTee"; type: "error" },
              { inputs: readonly []; name: "NotInitializing"; type: "error" },
              { inputs: readonly []; name: "NotJobOwner"; type: "error" },
              { inputs: readonly []; name: "NothingToClaim"; type: "error" },
              {
                  inputs: readonly [];
                  name: "ReentrancyGuardReentrantCall";
                  type: "error";
              },
              { inputs: readonly []; name: "TeeAlreadyAdded"; type: "error" },
              { inputs: readonly []; name: "TeeNotActive"; type: "error" },
              { inputs: readonly []; name: "TransferFailed"; type: "error" },
              {
                  inputs: readonly [];
                  name: "UUPSUnauthorizedCallContext";
                  type: "error";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "slot"; type: "bytes32" },
                  ];
                  name: "UUPSUnsupportedProxiableUUID";
                  type: "error";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "amount";
                          type: "uint256";
                      },
                  ];
                  name: "Claimed";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "uint64";
                          name: "version";
                          type: "uint64";
                      },
                  ];
                  name: "Initialized";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                  ];
                  name: "JobCanceled";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                      {
                          indexed: false;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                      {
                          indexed: false;
                          internalType: "uint256";
                          name: "bidAmount";
                          type: "uint256";
                      },
                  ];
                  name: "JobSubmitted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Paused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "attestator";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "jobId";
                          type: "uint256";
                      },
                      {
                          indexed: true;
                          internalType: "uint256";
                          name: "fileId";
                          type: "uint256";
                      },
                  ];
                  name: "ProofAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "previousAdminRole";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "newAdminRole";
                          type: "bytes32";
                      },
                  ];
                  name: "RoleAdminChanged";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleGranted";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "bytes32";
                          name: "role";
                          type: "bytes32";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                      {
                          indexed: true;
                          internalType: "address";
                          name: "sender";
                          type: "address";
                      },
                  ];
                  name: "RoleRevoked";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeAdded";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "teeAddress";
                          type: "address";
                      },
                  ];
                  name: "TeeRemoved";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: false;
                          internalType: "address";
                          name: "account";
                          type: "address";
                      },
                  ];
                  name: "Unpaused";
                  type: "event";
              },
              {
                  anonymous: false;
                  inputs: readonly [
                      {
                          indexed: true;
                          internalType: "address";
                          name: "implementation";
                          type: "address";
                      },
                  ];
                  name: "Upgraded";
                  type: "event";
              },
              {
                  inputs: readonly [];
                  name: "DEFAULT_ADMIN_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "MAINTAINER_ROLE";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "UPGRADE_INTERFACE_VERSION";
                  outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "activeTeeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "activeTeesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                      {
                          components: readonly [
                              { internalType: "bytes"; name: "signature"; type: "bytes" },
                              {
                                  components: readonly [
                                      { internalType: "uint256"; name: "score"; type: "uint256" },
                                      { internalType: "uint256"; name: "dlpId"; type: "uint256" },
                                      { internalType: "string"; name: "metadata"; type: "string" },
                                      { internalType: "string"; name: "proofUrl"; type: "string" },
                                      { internalType: "string"; name: "instruction"; type: "string" },
                                  ];
                                  internalType: "struct IDataRegistry.ProofData";
                                  name: "data";
                                  type: "tuple";
                              },
                          ];
                          internalType: "struct IDataRegistry.Proof";
                          name: "proof";
                          type: "tuple";
                      },
                  ];
                  name: "addProof";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "string"; name: "url"; type: "string" },
                      { internalType: "string"; name: "publicKey"; type: "string" },
                  ];
                  name: "addTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "cancelDelay";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "cancelJob";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "claim";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "dataRegistry";
                  outputs: readonly [
                      { internalType: "contract IDataRegistry"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "fileJobIds";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                  ];
                  name: "getRoleAdmin";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "grantRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "hasRole";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                      { internalType: "address"; name: "ownerAddress"; type: "address" },
                      {
                          internalType: "address";
                          name: "dataRegistryAddress";
                          type: "address";
                      },
                      { internalType: "uint256"; name: "initialCancelDelay"; type: "uint256" },
                  ];
                  name: "initialize";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "isTee";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "forwarder"; type: "address" },
                  ];
                  name: "isTrustedForwarder";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "jobId"; type: "uint256" },
                  ];
                  name: "jobs";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "uint256"; name: "fileId"; type: "uint256" },
                              { internalType: "uint256"; name: "bidAmount"; type: "uint256" },
                              {
                                  internalType: "enum ITeePool.JobStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "addedTimestamp"; type: "uint256" },
                              { internalType: "address"; name: "ownerAddress"; type: "address" },
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                          ];
                          internalType: "struct ITeePool.Job";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "jobsCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes[]"; name: "data"; type: "bytes[]" },
                  ];
                  name: "multicall";
                  outputs: readonly [
                      { internalType: "bytes[]"; name: "results"; type: "bytes[]" },
                  ];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "pause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "paused";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "proxiableUUID";
                  outputs: readonly [
                      { internalType: "bytes32"; name: ""; type: "bytes32" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "removeTee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "callerConfirmation"; type: "address" },
                  ];
                  name: "renounceRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "requestContributionProof";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes32"; name: "role"; type: "bytes32" },
                      { internalType: "address"; name: "account"; type: "address" },
                  ];
                  name: "revokeRole";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "fileId"; type: "uint256" },
                  ];
                  name: "submitJob";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
                  ];
                  name: "supportsInterface";
                  outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeFee";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                      { internalType: "uint256"; name: "start"; type: "uint256" },
                      { internalType: "uint256"; name: "limit"; type: "uint256" },
                  ];
                  name: "teeJobIdsPaginated";
                  outputs: readonly [
                      { internalType: "uint256[]"; name: ""; type: "uint256[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teeList";
                  outputs: readonly [
                      { internalType: "address[]"; name: ""; type: "address[]" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "index"; type: "uint256" },
                  ];
                  name: "teeListAt";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "address"; name: "teeAddress"; type: "address" },
                  ];
                  name: "tees";
                  outputs: readonly [
                      {
                          components: readonly [
                              { internalType: "address"; name: "teeAddress"; type: "address" },
                              { internalType: "string"; name: "url"; type: "string" },
                              {
                                  internalType: "enum ITeePool.TeeStatus";
                                  name: "status";
                                  type: "uint8";
                              },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "withdrawnAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "jobsCount"; type: "uint256" },
                              { internalType: "string"; name: "publicKey"; type: "string" },
                          ];
                          internalType: "struct ITeePool.TeeInfo";
                          name: "";
                          type: "tuple";
                      },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "teesCount";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "trustedForwarder";
                  outputs: readonly [
                      { internalType: "address"; name: ""; type: "address" },
                  ];
                  stateMutability: "view";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "unpause";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newCancelDelay"; type: "uint256" },
                  ];
                  name: "updateCancelDelay";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "contract IDataRegistry";
                          name: "newDataRegistry";
                          type: "address";
                      },
                  ];
                  name: "updateDataRegistry";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      { internalType: "uint256"; name: "newTeeFee"; type: "uint256" },
                  ];
                  name: "updateTeeFee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "trustedForwarderAddress";
                          type: "address";
                      },
                  ];
                  name: "updateTrustedForwarder";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
                  type: "function";
              },
              {
                  inputs: readonly [
                      {
                          internalType: "address";
                          name: "newImplementation";
                          type: "address";
                      },
                      { internalType: "bytes"; name: "data"; type: "bytes" },
                  ];
                  name: "upgradeToAndCall";
                  outputs: readonly [];
                  stateMutability: "payable";
                  type: "function";
              },
              {
                  inputs: readonly [];
                  name: "version";
                  outputs: readonly [
                      { internalType: "uint256"; name: ""; type: "uint256" },
                  ];
                  stateMutability: "pure";
                  type: "function";
              },
          ];
      }[T]

      The ABI array for the specified contract