Variable erc20PeggedVariableCriteriaIncentiveAbiConst
erc20PeggedVariableCriteriaIncentiveAbi: readonly [{ 
    type: "constructor"; 
    inputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "AlreadyInitialized"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "ClaimFailed"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "CloneAlreadyInitialized"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "InitializerNotImplemented"; 
}, { 
    type: "error"; 
    inputs: readonly [{ 
        name: "asset"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "available"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }, { 
        name: "required"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "InsufficientFunds"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "InvalidInitialization"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "InvalidInitialization"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "InvalidInitializationData"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "LengthMismatch"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "NewOwnerIsZeroAddress"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "NoHandoverRequest"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "NotClaimable"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "NotInitializing"; 
}, { 
    type: "error"; 
    inputs: readonly []; 
    name: "Unauthorized"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "recipient"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }, { 
        name: "data"; 
        internalType: "bytes"; 
        type: "bytes"; 
        indexed: false; 
    }]; 
    name: "Claimed"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "asset"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }, { 
        name: "peg"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }, { 
        name: "reward"; 
        internalType: "uint256"; 
        type: "uint256"; 
        indexed: false; 
    }, { 
        name: "limit"; 
        internalType: "uint256"; 
        type: "uint256"; 
        indexed: false; 
    }, { 
        name: "manager"; 
        internalType: "address"; 
        type: "address"; 
        indexed: false; 
    }, { 
        name: "maxReward"; 
        internalType: "uint256"; 
        type: "uint256"; 
        indexed: false; 
    }, { 
        name: "criteria"; 
        internalType: "struct AERC20PeggedVariableCriteriaIncentive.IncentiveCriteria"; 
        type: "tuple"; 
        components: readonly [{ 
            name: "criteriaType"; 
            internalType: "enum SignatureType"; 
            type: "uint8"; 
        }, { 
            name: "signature"; 
            internalType: "bytes32"; 
            type: "bytes32"; 
        }, { 
            name: "fieldIndex"; 
            internalType: "uint32"; 
            type: "uint32"; 
        }, { 
            name: "targetContract"; 
            internalType: "address"; 
            type: "address"; 
        }]; 
        indexed: false; 
    }]; 
    name: "ERC20PeggedIncentiveInitialized"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "version"; 
        internalType: "uint64"; 
        type: "uint64"; 
        indexed: false; 
    }]; 
    name: "Initialized"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "pendingOwner"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }]; 
    name: "OwnershipHandoverCanceled"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "pendingOwner"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }]; 
    name: "OwnershipHandoverRequested"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "oldOwner"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }, { 
        name: "newOwner"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }]; 
    name: "OwnershipTransferred"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
        indexed: true; 
    }, { 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
        indexed: true; 
    }]; 
    name: "RolesUpdated"; 
}, { 
    type: "event"; 
    anonymous: false; 
    inputs: readonly [{ 
        name: "sender"; 
        internalType: "address"; 
        type: "address"; 
        indexed: false; 
    }, { 
        name: "amount"; 
        internalType: "uint256"; 
        type: "uint256"; 
        indexed: false; 
    }]; 
    name: "ToppedUp"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "ADMIN_ROLE"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "MANAGER_ROLE"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "asset"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "cancelOwnershipHandover"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "claimTarget"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "data_"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    name: "claim"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: ""; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "claimed"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "claims"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "data_"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    name: "clawback"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }, { 
        name: ""; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "pendingOwner"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "completeOwnershipHandover"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "currentReward"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "getComponentInterface"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bytes4"; 
        type: "bytes4"; 
    }]; 
    stateMutability: "pure"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "getIncentiveCriteria"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "struct AERC20PeggedVariableCriteriaIncentive.IncentiveCriteria"; 
        type: "tuple"; 
        components: readonly [{ 
            name: "criteriaType"; 
            internalType: "enum SignatureType"; 
            type: "uint8"; 
        }, { 
            name: "signature"; 
            internalType: "bytes32"; 
            type: "bytes32"; 
        }, { 
            name: "fieldIndex"; 
            internalType: "uint32"; 
            type: "uint32"; 
        }, { 
            name: "targetContract"; 
            internalType: "address"; 
            type: "address"; 
        }]; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "getMaxReward"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "getPeg"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "accounts_"; 
        internalType: "address[]"; 
        type: "address[]"; 
    }, { 
        name: "roles_"; 
        internalType: "uint256[]"; 
        type: "uint256[]"; 
    }]; 
    name: "grantManyRoles"; 
    outputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "grantRoles"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "hasAllRoles"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "hasAnyRole"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "incentiveCriteria"; 
    outputs: readonly [{ 
        name: "criteriaType"; 
        internalType: "enum SignatureType"; 
        type: "uint8"; 
    }, { 
        name: "signature"; 
        internalType: "bytes32"; 
        type: "bytes32"; 
    }, { 
        name: "fieldIndex"; 
        internalType: "uint32"; 
        type: "uint32"; 
    }, { 
        name: "targetContract"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "data_"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    name: "initialize"; 
    outputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "account_"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "isAuthorized"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "claimTarget"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "data_"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    name: "isClaimable"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "limit"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "owner"; 
    outputs: readonly [{ 
        name: "result"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "pendingOwner"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "ownershipHandoverExpiresAt"; 
    outputs: readonly [{ 
        name: "result"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "peg"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "data_"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    name: "preflight"; 
    outputs: readonly [{ 
        name: "budgetData"; 
        internalType: "bytes"; 
        type: "bytes"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "renounceOwnership"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "renounceRoles"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "requestOwnershipHandover"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "accounts_"; 
        internalType: "address[]"; 
        type: "address[]"; 
    }, { 
        name: "roles_"; 
        internalType: "uint256[]"; 
        type: "uint256[]"; 
    }]; 
    name: "revokeManyRoles"; 
    outputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
    }, { 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "revokeRoles"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "reward"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "user"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "rolesOf"; 
    outputs: readonly [{ 
        name: "roles"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "accounts_"; 
        internalType: "address[]"; 
        type: "address[]"; 
    }, { 
        name: "authorized_"; 
        internalType: "bool[]"; 
        type: "bool[]"; 
    }]; 
    name: "setAuthorized"; 
    outputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "interfaceId"; 
        internalType: "bytes4"; 
        type: "bytes4"; 
    }]; 
    name: "supportsInterface"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "bool"; 
        type: "bool"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "amount"; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    name: "topup"; 
    outputs: readonly []; 
    stateMutability: "nonpayable"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "totalClaim"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly []; 
    name: "totalClaimed"; 
    outputs: readonly [{ 
        name: ""; 
        internalType: "uint256"; 
        type: "uint256"; 
    }]; 
    stateMutability: "view"; 
}, { 
    type: "function"; 
    inputs: readonly [{ 
        name: "newOwner"; 
        internalType: "address"; 
        type: "address"; 
    }]; 
    name: "transferOwnership"; 
    outputs: readonly []; 
    stateMutability: "payable"; 
}]