export const UnlockABI = [ { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'approved' , type : 'address' } , { indexed : true , internalType : 'uint256' , name : 'tokenId' , type : 'uint256' } ] , name : 'Approval' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'operator' , type : 'address' } , { indexed : false , internalType : 'bool' , name : 'approved' , type : 'bool' } ] , name : 'ApprovalForAll' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'uint256' , name : 'tokenId' , type : 'uint256' } , { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'sendTo' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'refund' , type : 'uint256' } ] , name : 'CancelKey' , type : 'event' } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'balance' , type : 'uint256' } , { indexed : true , internalType : 'address' , name : 'owner' , type : 'address' } ] , name : 'Destroy' , type : 'event' } , { anonymous : false , inputs : [ ] , name : 'Disable' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'uint256' , name : 'tokenId' , type : 'uint256' } ] , name : 'ExpireKey' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'LockManagerAdded' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'LockManagerRemoved' , type : 'event' } , { anonymous : false , inputs : [ { indexed : false , internalType : 'string' , name : 'symbol' , type : 'string' } ] , name : 'NewLockSymbol' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'keyOwner' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'nextAvailableNonce' , type : 'uint256' } ] , name : 'NonceChanged' , type : 'event' } , { 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 : false , internalType : 'uint256' , name : 'oldKeyPrice' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : 'keyPrice' , type : 'uint256' } , { indexed : false , internalType : 'address' , name : 'oldTokenAddress' , type : 'address' } , { indexed : false , internalType : 'address' , name : 'tokenAddress' , type : 'address' } ] , name : 'PricingChanged' , type : 'event' } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'freeTrialLength' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : 'refundPenaltyBasisPoints' , type : 'uint256' } ] , name : 'RefundPenaltyChanged' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } , { indexed : false , internalType : 'uint256' , name : '_amount' , type : 'uint256' } , { indexed : false , internalType : 'bool' , name : '_timeAdded' , type : 'bool' } ] , name : 'TimestampChanged' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'from' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'to' , type : 'address' } , { indexed : true , internalType : 'uint256' , name : 'tokenId' , type : 'uint256' } ] , name : 'Transfer' , type : 'event' } , { anonymous : false , inputs : [ { indexed : false , internalType : 'uint256' , name : 'transferFeeBasisPoints' , type : 'uint256' } ] , name : 'TransferFeeChanged' , type : 'event' } , { anonymous : false , inputs : [ { indexed : true , internalType : 'address' , name : 'sender' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'tokenAddress' , type : 'address' } , { indexed : true , internalType : 'address' , name : 'beneficiary' , type : 'address' } , { indexed : false , internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'Withdrawal' , type : 'event' } , { constant : true , inputs : [ ] , name : 'BASIS_POINTS_DEN' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'CANCEL_TYPEHASH' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'addLockManager' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_approved' , type : 'address' } , { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'approve' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'balanceOf' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'beneficiary' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ ] , name : 'cancelAndRefund' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_keyOwner' , type : 'address' } , { internalType : 'uint8' , name : '_v' , type : 'uint8' } , { internalType : 'bytes32' , name : '_r' , type : 'bytes32' } , { internalType : 'bytes32' , name : '_s' , type : 'bytes32' } ] , name : 'cancelAndRefundFor' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ ] , name : 'destroyLock' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ ] , name : 'disableLock' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ ] , name : 'erc1820' , outputs : [ { internalType : 'contract IERC1820Registry' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'expirationDuration' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'expireKeyFor' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ ] , name : 'freeTrialLength' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_keyOwner' , type : 'address' } , { internalType : 'uint256' , name : 'amount' , type : 'uint256' } ] , name : 'fullRefund' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'getApproved' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_tokenAddress' , type : 'address' } , { internalType : 'address' , name : '_account' , type : 'address' } ] , name : 'getBalance' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_keyOwner' , type : 'address' } , { internalType : 'address' , name : '_txSender' , type : 'address' } ] , name : 'getCancelAndRefundApprovalHash' , outputs : [ { internalType : 'bytes32' , name : 'approvalHash' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'getCancelAndRefundValueFor' , outputs : [ { internalType : 'uint256' , name : 'refund' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'getHasValidKey' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_page' , type : 'uint256' } , { internalType : 'uint256' , name : '_pageSize' , type : 'uint256' } ] , name : 'getOwnersByPage' , outputs : [ { internalType : 'address[]' , name : '' , type : 'address[]' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_account' , type : 'address' } ] , name : 'getTokenIdFor' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'uint256' , name : '_time' , type : 'uint256' } ] , name : 'getTransferFee' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address[]' , name : '_recipients' , type : 'address[]' } , { internalType : 'uint256[]' , name : '_expirationTimestamps' , type : 'uint256[]' } ] , name : 'grantKeys' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'uint256' , name : '_expirationDuration' , type : 'uint256' } , { internalType : 'address' , name : '_tokenAddress' , type : 'address' } , { internalType : 'uint256' , name : '_keyPrice' , type : 'uint256' } , { internalType : 'uint256' , name : '_maxNumberOfKeys' , type : 'uint256' } , { internalType : 'string' , name : '_lockName' , type : 'string' } ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : 'sender' , type : 'address' } ] , name : 'initialize' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_nextAvailableNonce' , type : 'uint256' } ] , name : 'invalidateOffchainApproval' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ ] , name : 'isAlive' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'address' , name : '_operator' , type : 'address' } ] , name : 'isApprovedForAll' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } , { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'isKeyOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : 'account' , type : 'address' } ] , name : 'isLockManager' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'isOwner' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'keyCancelInterfaceId' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } ] , name : 'keyExpirationTimestampFor' , outputs : [ { internalType : 'uint256' , name : 'timestamp' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , name : 'keyOwnerToNonce' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'keyPrice' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'keySoldInterfaceId' , outputs : [ { internalType : 'bytes32' , name : '' , type : 'bytes32' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'maxNumberOfKeys' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'name' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'numberOfOwners' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'owner' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'ownerOf' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , name : 'owners' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'publicLockVersion' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'pure' , type : 'function' } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_value' , type : 'uint256' } , { internalType : 'address' , name : '_recipient' , type : 'address' } , { internalType : 'address' , name : '_referrer' , type : 'address' } , { internalType : 'bytes' , name : '_data' , type : 'bytes' } ] , name : 'purchase' , outputs : [ ] , payable : true , stateMutability : 'payable' , type : 'function' } , { constant : true , inputs : [ ] , name : 'refundPenaltyBasisPoints' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ ] , name : 'renounceLockManager' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ ] , name : 'renounceOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_from' , type : 'address' } , { internalType : 'address' , name : '_to' , type : 'address' } , { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'safeTransferFrom' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_from' , type : 'address' } , { internalType : 'address' , name : '_to' , type : 'address' } , { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } , { internalType : 'bytes' , name : '_data' , type : 'bytes' } ] , name : 'safeTransferFrom' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_to' , type : 'address' } , { internalType : 'bool' , name : '_approved' , type : 'bool' } ] , name : 'setApprovalForAll' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'string' , name : '_baseTokenURI' , type : 'string' } ] , name : 'setBaseTokenURI' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_to' , type : 'address' } , { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } , { internalType : 'uint256' , name : '_timeShared' , type : 'uint256' } ] , name : 'shareKey' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ { internalType : 'bytes4' , name : 'interfaceId' , type : 'bytes4' } ] , name : 'supportsInterface' , outputs : [ { internalType : 'bool' , name : '' , type : 'bool' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'symbol' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'tokenAddress' , outputs : [ { internalType : 'address' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_index' , type : 'uint256' } ] , name : 'tokenByIndex' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'address' , name : '_owner' , type : 'address' } , { internalType : 'uint256' , name : '_index' , type : 'uint256' } ] , name : 'tokenOfOwnerByIndex' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'tokenURI' , outputs : [ { internalType : 'string' , name : '' , type : 'string' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'totalSupply' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : true , inputs : [ ] , name : 'transferFeeBasisPoints' , outputs : [ { internalType : 'uint256' , name : '' , type : 'uint256' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_from' , type : 'address' } , { internalType : 'address' , name : '_recipient' , type : 'address' } , { internalType : 'uint256' , name : '_tokenId' , type : 'uint256' } ] , name : 'transferFrom' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : 'newOwner' , type : 'address' } ] , name : 'transferOwnership' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : true , inputs : [ ] , name : 'unlockProtocol' , outputs : [ { internalType : 'contract IUnlock' , name : '' , type : 'address' } ] , payable : false , stateMutability : 'view' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_beneficiary' , type : 'address' } ] , name : 'updateBeneficiary' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_keyPrice' , type : 'uint256' } , { internalType : 'address' , name : '_tokenAddress' , type : 'address' } ] , name : 'updateKeyPricing' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'string' , name : '_lockName' , type : 'string' } ] , name : 'updateLockName' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'string' , name : '_lockSymbol' , type : 'string' } ] , name : 'updateLockSymbol' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_freeTrialLength' , type : 'uint256' } , { internalType : 'uint256' , name : '_refundPenaltyBasisPoints' , type : 'uint256' } ] , name : 'updateRefundPenalty' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'uint256' , name : '_transferFeeBasisPoints' , type : 'uint256' } ] , name : 'updateTransferFee' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } , { constant : false , inputs : [ { internalType : 'address' , name : '_tokenAddress' , type : 'address' } , { internalType : 'uint256' , name : '_amount' , type : 'uint256' } ] , name : 'withdraw' , outputs : [ ] , payable : false , stateMutability : 'nonpayable' , type : 'function' } ] ;