/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, Signer, utils } from "ethers"; import type { Provider } from "@ethersproject/providers"; import type { IKSULockingAbi, IKSULockingAbiInterface, } from "../IKSULockingAbi"; const _abi = [ { inputs: [ { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], name: "DepositLocked", type: "error", }, { inputs: [ { internalType: "uint256", name: "userLockId", type: "uint256", }, ], name: "InvalidUserDeposit", type: "error", }, { inputs: [], name: "LockAmountShouldBeMoreThanZero", type: "error", }, { inputs: [ { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], name: "LockPeriodAlreadyExists", type: "error", }, { inputs: [ { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], name: "LockPeriodNotSupported", type: "error", }, { inputs: [], name: "UnlockAmountShouldBeMoreThanZero", type: "error", }, { inputs: [ { internalType: "uint256", name: "userLockId", type: "uint256", }, { internalType: "uint256", name: "lockAmount", type: "uint256", }, { internalType: "uint256", name: "requestedUnlockAmount", type: "uint256", }, ], name: "UserUnlockAmountTooHigh", type: "error", }, { anonymous: false, inputs: [ { 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: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: true, internalType: "uint256", name: "lockId", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ksuAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rKSUBurned", type: "uint256", }, { indexed: false, internalType: "address", name: "receiver", type: "address", }, ], name: "EmergencyWithdraw", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "FeesClaimed", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "FeesEmitted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "uint256", name: "lockPeriod", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rKSUMultiplier", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ksuBonusMultiplier", type: "uint256", }, ], name: "LockPeriodAdded", type: "event", }, { anonymous: false, inputs: [ { 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: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: true, internalType: "uint256", name: "lockId", type: "uint256", }, { indexed: true, internalType: "uint256", name: "lockPeriod", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ksuAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ksuBonusAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rKSUMinted", type: "uint256", }, ], name: "UserLocked", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "user", type: "address", }, { indexed: true, internalType: "uint256", name: "lockId", type: "uint256", }, { indexed: false, internalType: "uint256", name: "ksuAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "rKSUBurned", type: "uint256", }, ], name: "UserUnlocked", type: "event", }, { inputs: [ { internalType: "uint256", name: "lockPeriod", type: "uint256", }, { internalType: "uint256", name: "rKSUMultiplier", type: "uint256", }, { internalType: "uint256", name: "ksuBonusMultiplier", type: "uint256", }, ], name: "addLockPeriod", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "spender", type: "address", }, ], name: "allowance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "spender", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "approve", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "balanceOf", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "claimFees", outputs: [ { internalType: "uint256", name: "earned", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "user", type: "address", }, { internalType: "uint256", name: "lockId", type: "uint256", }, { internalType: "uint256", name: "withdrawAmount", type: "uint256", }, ], internalType: "struct EmergencyWithdrawInput[]", name: "emergencyWithdrawInput", type: "tuple[]", }, { internalType: "address", name: "receiver", type: "address", }, ], name: "emergencyWithdraw", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "emitFees", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], name: "lock", outputs: [ { internalType: "uint256", name: "userLockId", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], name: "lockDetails", outputs: [ { components: [ { internalType: "uint256", name: "rKSUMultiplier", type: "uint256", }, { internalType: "uint256", name: "ksuBonusMultiplier", type: "uint256", }, { internalType: "bool", name: "isActive", type: "bool", }, ], internalType: "struct IKSULocking.LockPeriodDetails", name: "", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "lockPeriod", type: "uint256", }, { components: [ { 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", }, ], internalType: "struct IKSULocking.ERC20PermitPayload", name: "ksuPermit", type: "tuple", }, ], name: "lockWithPermit", outputs: [ { internalType: "uint256", name: "userLockId", type: "uint256", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "user", type: "address", }, ], name: "rewards", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "ksuBonusTokens_", type: "address", }, ], name: "setKSULockBonus", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "totalSupply", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "transfer", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "from", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "transferFrom", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "userLockId", type: "uint256", }, ], name: "unlock", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "uint256", name: "", type: "uint256", }, ], name: "userLock", outputs: [ { components: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "rKSUAmount", type: "uint256", }, { internalType: "uint256", name: "rKSUMultiplier", type: "uint256", }, { internalType: "uint256", name: "startTime", type: "uint256", }, { internalType: "uint256", name: "lockPeriod", type: "uint256", }, ], internalType: "struct IKSULocking.UserLock", name: "", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "userTotalDeposits", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, ] as const; export class IKSULockingAbi__factory { static readonly abi = _abi; static createInterface(): IKSULockingAbiInterface { return new utils.Interface(_abi) as IKSULockingAbiInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): IKSULockingAbi { return new Contract(address, _abi, signerOrProvider) as IKSULockingAbi; } }