[{"inputs":[{"internalType":"address","name":"provider","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"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":[{"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":[{"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"},{"inputs":[],"name":"ADDRESS_LOCK_INTERFACE_ID","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"},{"components":[{"internalType":"address","name":"addressLock","type":"address"},{"internalType":"uint256","name":"timeLockExpiry","type":"uint256"},{"internalType":"enum IRevest.LockType","name":"lockType","type":"uint8"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"compareTo","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"unlockValue","type":"uint256"},{"internalType":"bool","name":"unlockRisingEdge","type":"bool"}],"internalType":"struct IRevest.ValueLock","name":"valueLock","type":"tuple"}],"internalType":"struct IRevest.LockParam","name":"lock","type":"tuple"}],"name":"createLock","outputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"}],"name":"fnftIdToLock","outputs":[{"components":[{"internalType":"address","name":"addressLock","type":"address"},{"internalType":"enum IRevest.LockType","name":"lockType","type":"uint8"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"compareTo","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"unlockValue","type":"uint256"},{"internalType":"bool","name":"unlockRisingEdge","type":"bool"}],"internalType":"struct IRevest.ValueLock","name":"valueLock","type":"tuple"},{"internalType":"uint256","name":"timeLockExpiry","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"bool","name":"unlocked","type":"bool"}],"internalType":"struct IRevest.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"fnftIdToLockId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"getLock","outputs":[{"components":[{"internalType":"address","name":"addressLock","type":"address"},{"internalType":"enum IRevest.LockType","name":"lockType","type":"uint8"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"compareTo","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"unlockValue","type":"uint256"},{"internalType":"bool","name":"unlockRisingEdge","type":"bool"}],"internalType":"struct IRevest.ValueLock","name":"valueLock","type":"tuple"},{"internalType":"uint256","name":"timeLockExpiry","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"bool","name":"unlocked","type":"bool"}],"internalType":"struct IRevest.Lock","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"}],"name":"getLockMaturity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"}],"name":"lockTypes","outputs":[{"internalType":"enum IRevest.LockType","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"locks","outputs":[{"internalType":"address","name":"addressLock","type":"address"},{"internalType":"enum IRevest.LockType","name":"lockType","type":"uint8"},{"components":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"address","name":"compareTo","type":"address"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"unlockValue","type":"uint256"},{"internalType":"bool","name":"unlockRisingEdge","type":"bool"}],"internalType":"struct IRevest.ValueLock","name":"valueLock","type":"tuple"},{"internalType":"uint256","name":"timeLockExpiry","type":"uint256"},{"internalType":"uint256","name":"creationTime","type":"uint256"},{"internalType":"bool","name":"unlocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numLocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"},{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"pointFNFTToLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registry","type":"address"}],"name":"setAddressRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fnftId","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"unlockFNFT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]