@credenza-web3/contracts
Version:
Credenza Contracts
1,654 lines • 111 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "MembershipPublicLock",
"sourceName": "contracts/membership-lock/MembershipPublicLock.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
}
],
"name": "ContractDeployed",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "Disable",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "refundedAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "tokenAddress",
"type": "address"
}
],
"name": "GasRefunded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "KeyGranterAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "KeyGranterRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "_newManager",
"type": "address"
}
],
"name": "KeyManagerChanged",
"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": 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": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newExpiration",
"type": "uint256"
}
],
"name": "RenewKeyPurchase",
"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"
},
{
"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": "lockAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "unlockAddress",
"type": "address"
}
],
"name": "UnlockCallFailed",
"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"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "KEY_GRANTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LOCK_MANAGER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "addKeyGranter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "addLockManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_approved",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "approveBeneficiary",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_keyOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "beneficiary",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "cancelAndRefund",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "disableLock",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "discountAmountPct",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "expirationDuration",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_keyOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "expireAndRefundFor",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "freeTrialLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gasRefundValue",
"outputs": [
{
"internalType": "uint256",
"name": "_refundValue",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_keyOwner",
"type": "address"
}
],
"name": "getCancelAndRefundValueFor",
"outputs": [
{
"internalType": "uint256",
"name": "refund",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_keyOwner",
"type": "address"
}
],
"name": "getHasValidKey",
"outputs": [
{
"internalType": "bool",
"name": "isValid",
"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": "address",
"name": "_account",
"type": "address"
}
],
"name": "getTokenIdFor",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_recipients",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "_expirationTimestamps",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "_keyManagers",
"type": "address[]"
}
],
"name": "grantKeys",
"outputs": [],
"stateMutability": "nonpayable",
"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": "address payable",
"name": "_lockCreator",
"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": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "isAlive",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isKeyGranter",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isLockManager",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "keyManagerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "keyPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxNumberOfKeys",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "membershipAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "membershipDiscountContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "publicLockVersion",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
},
{
"internalType": "address",
"name": "_recipient",
"type": "address"
},
{
"internalType": "address",
"name": "_referrer",
"type": "address"
},
{
"internalType": "address",
"name": "_keyManager",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"name": "purchase",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_recipient",
"type": "address"
},
{
"internalType": "address",
"name": "_referrer",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"name": "purchasePriceFor",
"outputs": [
{
"internalType": "uint256",
"name": "minKeyPrice",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "refundPenaltyBasisPoints",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceLockManager",
"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": "address",
"name": "_granter",
"type": "address"
}
],
"name": "revokeKeyGranter",
"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": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"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": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "bool",
"name": "_approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_baseTokenURI",
"type": "string"
}
],
"name": "setBaseTokenURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_refundValue",
"type": "uint256"
}
],
"name": "setGasRefundValue",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "_keyManager",
"type": "address"
}
],
"name": "setKeyManagerOf",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_maxNumberOfKeys",
"type": "uint256"
}
],
"name": "setMaxNumberOfKeys",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_discountPct",
"type": "uint256"
},
{
"internalType": "address",
"name": "_membershipContractAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_membershipAddress",
"type": "address"
}
],
"name": "setMembershipDiscountContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_tetherContractAddress",
"type": "address"
}
],
"name": "setTetherContractAddress",
"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": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tetherContractAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "tokenByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_keyOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "tokenOfOwnerByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"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": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "_tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_beneficiary",
"type": "address"
}
],
"name": "updateBeneficiary",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_keyPrice",
"type": "uint256"
},
{
"internalType": "address",
"name": "_tokenAddress",
"type": "address"
}
],
"name": "updateKeyPricing",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_lockName",
"type": "string"
}
],
"name": "updateLockName",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_lockSymbol",
"type": "string"
}
],
"name": "updateLockSymbol",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_freeTrialLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_refundPenaltyBasisPoints",
"type": "uint256"
}
],
"name": "updateRefundPenalty",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_tokenAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60806040526000611c345534801561001657600080fd5b5060405130907f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf90600090a2614a41806100516000396000f3fe6080604052600436106103fe5760003560e01c80636eadde4311610213578063a375cb0511610123578063c87b56dd116100ab578063d547741f1161007a578063d547741f14610c26578063e985e9c514610c46578063f0ba604014610c66578063f3fef3a314610c7b578063f5766b3914610c9b57600080fd5b8063c87b56dd14610baa578063d1bbd49c14610bca578063d250348514610be6578063d32bfb6c14610c0657600080fd5b8063b585a6d5116100f2578063b585a6d514610b15578063b88d4fde14610b35578063ba5a370b14610b55578063bf4a927014610b75578063c1c98d0314610b9557600080fd5b8063a375cb0514610a9e578063a9059cbb14610ab5578063aae4b8f714610ad5578063b11d7ec114610af557600080fd5b80638fb45097116101a657806397aa390a1161017557806397aa390a14610a085780639d76ea5814610a28578063a217fddf14610a49578063a22cb46514610a5e578063a2e4cd2e14610a7e57600080fd5b80638fb450971461097c57806391d148541461099c57806395d89b41146109bc578063970aaeb7146109d157600080fd5b806381a3c943116101e257806381a3c94314610910578063823db6cf146109305780638be4b870146109475780638ca2fbad1461095a57600080fd5b80636eadde431461089957806370a08231146108b957806374b6c106146108d9578063782a4ade146108f057600080fd5b806330176e131161030e5780634f6ccce7116102a1578063564aa99d11610270578063564aa99d146107f557806356e0d51f146108155780636207a8da1461082c5780636352211e146108425780636d8ea5b41461087957600080fd5b80634f6ccce71461077557806352b0f6381461079557806352d6a8e4146107b5578063550ef3a8146107d557600080fd5b806339f46986116102dd57806339f46986146106e35780634136aa351461070357806342842e0e1461071e5780634d025fed1461073e57600080fd5b806330176e13146106615780633032ed711461068157806336568abe146106a257806338af3eed146106c257600080fd5b806318160ddd1161039157806323b872dd1161036057806323b872dd146105b1578063248a9ca3146105d15780632af9162a146106015780632f2ff15d146106215780632f745c591461064157600080fd5b806318160ddd146105375780631a6485101461054d5780631c8a1e201461056e578063231005091461058f57600080fd5b8063097ba333116103cd578063097ba333146104bb5780630aaffd2a146104e957806310e569731461050957806311a4c03a1461052057600080fd5b806301ffc9a71461040a57806306fdde031461043f578063081812fc14610461578063095ea7b31461049957600080fd5b3661040557005b600080fd5b34801561041657600080fd5b5061042a61042536600461441a565b610cbb565b60405190151581526020015b60405180910390f35b34801561044b57600080fd5b50610454610ccc565b60405161043691906146f3565b34801561046d57600080fd5b5061048161047c3660046143de565b610d5b565b6040516001600160a01b039091168152602001610436565b3480156104a557600080fd5b506104b96104b436600461431a565b610dd7565b005b3480156104c757600080fd5b506104db6104d6366004614171565b610f1e565b604051908152602001610436565b3480156104f557600080fd5b506104b961050436600461406e565b610f6a565b34801561051557600080fd5b506104db610c845481565b34801561052c57600080fd5b506104db610c835481565b34801561054357600080fd5b50610c89546104db565b34801561055957600080fd5b5061107354610481906001600160a01b031681565b34801561057a57600080fd5b50610c8654610481906001600160a01b031681565b34801561059b57600080fd5b506104db6000805160206149cc83398151915281565b3480156105bd57600080fd5b506104b96105cc3660046141d4565b610fee565b3480156105dd57600080fd5b506104db6105ec3660046143de565b60009081526097602052604090206001015490565b34801561060d57600080fd5b506104b961061c36600461406e565b611258565b34801561062d57600080fd5b506104b961063c3660046143f6565b6112db565b34801561064d57600080fd5b506104db61065c36600461431a565b611305565b34801561066d57600080fd5b506104b961067c366004614452565b61138d565b34801561068d57600080fd5b50610c8554610481906001600160a01b031681565b3480156106ae57600080fd5b506104b96106bd3660046143f6565b6113ce565b3480156106ce57600080fd5b50610c8a54610481906001600160a01b031681565b3480156106ef57600080fd5b506104b96106fe36600461455c565b61144c565b34801561070f57600080fd5b5061089a5461042a9060ff1681565b34801561072a57600080fd5b506104b96107393660046141d4565b6114c6565b34801561074a57600080fd5b506104816107593660046143de565b611076602052600090815260409020546001600160a01b031681565b34801561078157600080fd5b506104db6107903660046143de565b6114e1565b3480156107a157600080fd5b5061042a6107b036600461406e565b611528565b3480156107c157600080fd5b506104db6107d036600461406e565b611542565b3480156107e157600080fd5b506104b96107f0366004614452565b61154d565b34801561080157600080fd5b506104b961081036600461406e565b61158e565b34801561082157600080fd5b506104db6124055481565b34801561083857600080fd5b50611c34546104db565b34801561084e57600080fd5b5061048161085d3660046143de565b600090815261107560205260409020546001600160a01b031690565b34801561088557600080fd5b5061042a61089436600461406e565b611611565b3480156108a557600080fd5b506104b96108b43660046140b5565b6116dd565b3480156108c557600080fd5b506104db6108d436600461406e565b61184c565b3480156108e557600080fd5b506104db610c885481565b3480156108fc57600080fd5b506104b961090b366004614452565b611894565b34801561091c57600080fd5b506104b961092b36600461432c565b611913565b34801561093c57600080fd5b506104db610c875481565b6104b96109553660046144eb565b611b8d565b34801561096657600080fd5b506104db6000805160206149ec83398151915281565b34801561098857600080fd5b506104b96109973660046144aa565b611fab565b3480156109a857600080fd5b5061042a6109b73660046143f6565b612080565b3480156109c857600080fd5b506104546120ab565b3480156109dd57600080fd5b506104db6109ec36600461406e565b6001600160a01b03166000908152611074602052604090205490565b348015610a1457600080fd5b506104b9610a2336600461408a565b61213e565b348015610a3457600080fd5b506104b154610481906001600160a01b031681565b348015610a5557600080fd5b506104db600081565b348015610a6a57600080fd5b506104b9610a793660046142ed565b6121a2565b348015610a8a57600080fd5b506104b9610a993660046143f6565b61227a565b348015610aaa57600080fd5b506104db6124065481565b348015610ac157600080fd5b5061042a610ad036600461431a565b612412565b348015610ae157600080fd5b5061042a610af036600461406e565b61243a565b348015610b0157600080fd5b506104b9610b103660046143f6565b612454565b348015610b2157600080fd5b5061042a610b3036600461431a565b612518565b348015610b4157600080fd5b506104b9610b50366004614214565b6125dc565b348015610b6157600080fd5b506104b9610b7036600461406e565b612645565b348015610b8157600080fd5b506104b9610b903660046143de565b61269c565b348015610ba157600080fd5b506104b9612740565b348015610bb657600080fd5b50610454610bc53660046143de565b6127cd565b348015610bd657600080fd5b5060405160098152602001610436565b348015610bf257600080fd5b506104b9610c0136600461406e565b6128dc565b348015610c1257600080fd5b506104b9610c213660046143de565b61295f565b348015610c3257600080fd5b506104b9610c413660046143f6565b612a00565b348015610c5257600080fd5b5061042a610c61366004614139565b612a25565b348015610c7257600080fd5b506104b9612abe565b348015610c8757600080fd5b506104b9610c9636600461431a565b612b03565b348015610ca757600080fd5b506104b9610cb63660046143de565b612c90565b6000610cc682612cca565b92915050565b6110798054610cda90614916565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0690614916565b8015610d535780601f10610d2857610100808354040283529160200191610d53565b820191906000526020600020905b815481529060010190602001808311610d3657829003601f168201915b505050505081565b6000818152611075602052604081205482906001600160a01b0316610db55760405162461bcd60e51b815260206004820152600b60248201526a4e4f5f535543485f4b455960a81b60448201526064015b60405180910390fd5b600083815261107760205260409020546001600160a01b031691505b50919050565b61089a5460ff16610dfa5760405162461bcd60e51b8152600401610dac90614817565b80610e058133612cd5565b80610e275750600081815261107760205260409020546001600160a01b031633145b80610e50575060008181526110756020526040902054610e50906001600160a01b031633612a25565b610e6c5760405162461bcd60e51b8152600401610dac90614756565b336001600160a01b0384161415610eb45760405162461bcd60e51b815260206004820152600c60248201526b20a8282927ab22afa9a2a62360a11b6044820152606401610dac565b60008281526110776020908152604080832080546001600160a01b0319166001600160a01b03888116918217909255611075909352818420549151869492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610f61858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d4e92505050565b95945050505050565b610f733361243a565b80610f895750610c8a546001600160a01b031633145b610fa55760405162461bcd60e51b8152600401610dac9061478d565b6001600160a01b038116610fcb5760405162461bcd60e51b8152600401610dac90614706565b610c8a80546001600160a01b0319166001600160a01b0392909216919091179055565b61089a5460ff166110115760405162461bcd60e51b8152600401610dac90614817565b8261101b81611611565b6110375760405162461bcd60e51b8152600401610dac9061472f565b816110428133612cd5565b806110645750600081815261107760205260409020546001600160a01b031633145b8061108d57506000818152611075602052604090205461108d906001600160a01b031633612a25565b6110a95760405162461bcd60e51b8152600401610dac90614756565b600083815261107560205260409020546001600160a01b038681169116146111135760405162461bcd60e51b815260206004820152601c60248201527f5452414e534645525f46524f4d3a204e4f545f4b45595f4f574e4552000000006044820152606401610dac565b6001600160a01b038416600090815261107460205260409020541561117a5760405162461bcd60e51b815260206004820152601960248201527f524543495049454e545f414c52454144595f4841535f4b4559000000000000006044820152606401610dac565b6001600160a01b0384166111a05760405162461bcd60e51b8152600401610dac90614706565b836001600160a01b0316856001600160a01b031614156111f55760405162461bcd60e51b815260206004820152601060248201526f2a2920a729a322a92faa27afa9a2a62360811b6044820152606401610dac565b6111fe83612e39565b6001600160a01b03808616600081815261107460205260408082208290559287168082528382208790559251869392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45050505050565b6112706000805160206149ec83398151915233612080565b61128c5760405162461bcd60e51b8152600401610dac906147c2565b6112a46000805160206149cc83398151915282612a00565b6040516001600160a01b038216907f766f6199fea59554b9ff688e413302b9200f85d74811c053c12d945ac6d8dd7a90600090a250565b6000828152609760205260409020600101546112f681612e78565b6113008383612e82565b505050565b60006113108361184c565b8210801561132657506001600160a01b03831615155b61136b5760405162461bcd60e51b815260206004820152601660248201527527a7262cafa7a722afa5a2acafa822a92fa7aba722a960511b6044820152606401610dac565b6001600160a01b038316600090815261107460205260409020545b9392505050565b6113a56000805160206149ec83398151915233612080565b6113c15760405162461bcd60e51b8152600401610dac906147c2565b61130061107b8383613f54565b6001600160a01b038116331461143e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610dac565b6114488282612f08565b5050565b6114646000805160206149ec83398151915233612080565b6114805760405162461bcd60e51b8152600401610dac906147c2565b60408051838152602081018390527fd6867bc538320e67d7bdc35860c27c08486eb490b4fd9b820fff18fb28381d3c910160405180910390a16124069190915561240555565b611300838383604051806020016040528060008152506125dc565b6000610c895482106115245760405162461bcd60e51b815260206004820152600c60248201526b4f55545f4f465f52414e474560a01b6044820152606401610dac565b5090565b6000610cc66000805160206149cc83398151915283612080565b6000610cc682612f6f565b6115656000805160206149ec83398151915233612080565b6115815760405162461bcd60e51b8152600401610dac906147c2565b6113006110798383613f54565b6115a66000805160206149ec83398151915233612080565b6115c25760405162461bcd60e51b8152600401610dac906147c2565b6115da6000805160206149cc833981519152826112db565b6040516001600160a01b038216907f684f8a71407db0c334454ebe9c9b288549317893a20b10dc779ec5c118dcd12190600090a250565b6001600160a01b038116600090815261107460205260409020541580159061163857919050565b611073546001600160a01b0316156116d557611073546040516370a0823160e01b81526001600160a01b0384811660048301529091169060009082906370a082319060240160206040518083038186803b15801561169557600080fd5b505afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd9190614492565b119392505050565b506000919050565b600054610100900460ff16158080156116fd5750600054600160ff909116105b806117175750303b158015611717575060005460ff166001145b61177a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610dac565b6000805460ff19166001179055801561179d576000805461ff0019166101001790555b6117a686612fa2565b6117b961089a805460ff19166001179055565b6117c588888787613079565b6117cf838361310c565b6117d7613132565b6117e36103e861240555565b6117ec88613144565b6117fc6380ac58cd60e01b6131cc565b8015611842576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60006001600160a01b0382166118745760405162461bcd60e51b8152600401610dac90614706565b61187d82611611565b61188857600061188b565b60015b60ff1692915050565b6118ac6000805160206149ec83398151915233612080565b6118c85760405162461bcd60e51b8152600401610dac906147c2565b6118d561107a8383613f54565b507f8868e22e84ebf32da89b2ebcb0ac642816304ea3863b257f240df9098719cb9782826040516119079291906146c4565b60405180910390a15050565b61191c33611528565b8061192b575061192b3361243a565b6119a95760405162461bcd60e51b815260206004820152604360248201527f4d6978696e526f6c65733a2063616c6c657220646f6573206e6f74206861766560448201527f20746865204b65794772616e746572206f72204c6f636b4d616e6167657220726064820152626f6c6560e81b608482015260a401610dac565b60005b85811015611b845760008787838181106119d657634e487b7160e01b600052603260045260246000fd5b90506020020160208101906119eb919061406e565b90506000868684818110611a0f57634e487b7160e01b600052603260045260246000fd5b9050602002013590506000858585818110611a3a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611a4f919061406e565b90506001600160a01b038316611a775760405162461bcd60e51b8152600401610dac90614706565b6001600160a01b0383166000908152611074602052604090205415611ad15760405162461bcd60e51b815260206004820152601060248201526f414c52454144595f4f574e535f4b455960801b6044820152606401610dac565b610c898054906000611ae28361494b565b9091555050610c8954611af5848261324b565b611aff818361328a565b6040516001600160a01b0383169082907f9d2895c45a420624de863a2f437b022d879f457bf7a829044055a10c5a6fd5e390600090a360405181906001600160a01b038616906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050508080611b7c9061494b565b9150506119ac565b50505050505050565b61089a5460ff16611bb05760405162461bcd60e51b8152600401610dac90614817565b610c8954610c885411611bf55760405162461bcd60e51b815260206004820152600d60248201526c1313d0d2d7d4d3d31117d3d555609a1b6044820152606401610dac565b6001600160a01b038516611c1b5760405162461bcd60e51b8152600401610dac90614706565b6001600160a01b0385166000908152611074602052604090205415611c745760405162461bcd60e51b815260206004820152600f60248201526e414c52454144595f4841535f4b455960881b6044820152606401610dac565b610c898054906000611c858361494b565b9091555050610c8954611c98868261324b565b611ca2818561328a565b60405181906001600160a01b038816906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46000611d1d878786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d4e92505050565b6104b1549091506000906001600160a01b031615611dca57506104b1546040516323b872dd60e01b8152336004820