@lukso/lsp7-contracts
Version:
Package for the LSP7 Digital Asset standard
1,574 lines • 119 kB
JSON
{
"_format": "hh3-artifact-1",
"contractName": "LSP7CustomizableToken",
"sourceName": "contracts/presets/LSP7CustomizableToken.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "address",
"name": "newOwner_",
"type": "address"
},
{
"internalType": "uint256",
"name": "lsp4TokenType_",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isNonDivisible_",
"type": "bool"
},
{
"components": [
{
"internalType": "bool",
"name": "isMintable",
"type": "bool"
},
{
"internalType": "uint256",
"name": "initialMintAmount",
"type": "uint256"
}
],
"internalType": "struct LSP7MintableParams",
"name": "mintableParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "tokenBalanceCap",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenSupplyCap",
"type": "uint256"
}
],
"internalType": "struct LSP7CappedParams",
"name": "cappedParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "transferLockStart",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "transferLockEnd",
"type": "uint256"
}
],
"internalType": "struct LSP7NonTransferableParams",
"name": "nonTransferableParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "bool",
"name": "isRevokable",
"type": "bool"
}
],
"internalType": "struct LSP7RevokableParams",
"name": "revokableParams",
"type": "tuple"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [],
"name": "AccessControlCannotSetAdminForDefaultAdminRole",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "ERC725Y_DataKeysValuesEmptyArray",
"type": "error"
},
{
"inputs": [],
"name": "ERC725Y_DataKeysValuesLengthMismatch",
"type": "error"
},
{
"inputs": [],
"name": "ERC725Y_MsgValueDisallowed",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "storedData",
"type": "bytes"
}
],
"name": "InvalidExtensionAddress",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "InvalidFunctionSelector",
"type": "error"
},
{
"inputs": [],
"name": "LSP4TokenNameNotEditable",
"type": "error"
},
{
"inputs": [],
"name": "LSP4TokenSymbolNotEditable",
"type": "error"
},
{
"inputs": [],
"name": "LSP4TokenTypeNotEditable",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "authorizedAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LSP7AmountExceedsAuthorizedAmount",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LSP7AmountExceedsBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "callIndex",
"type": "uint256"
}
],
"name": "LSP7BatchCallFailed",
"type": "error"
},
{
"inputs": [],
"name": "LSP7CannotSendWithAddressZero",
"type": "error"
},
{
"inputs": [],
"name": "LSP7CannotUpdateTransferLockPeriod",
"type": "error"
},
{
"inputs": [],
"name": "LSP7CannotUseAddressZeroAsOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tranferAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "balanceOf",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokenBalanceCap",
"type": "uint256"
}
],
"name": "LSP7CappedBalanceExceeded",
"type": "error"
},
{
"inputs": [],
"name": "LSP7CappedSupplyCannotMintOverCap",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "LSP7DecreaseAllowanceNotAuthorized",
"type": "error"
},
{
"inputs": [],
"name": "LSP7DecreasedAllowanceBelowZero",
"type": "error"
},
{
"inputs": [],
"name": "LSP7InvalidTransferBatch",
"type": "error"
},
{
"inputs": [],
"name": "LSP7InvalidTransferLockPeriod",
"type": "error"
},
{
"inputs": [],
"name": "LSP7MintDisabled",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenReceiver",
"type": "address"
}
],
"name": "LSP7NotifyTokenReceiverContractMissingLSP1Interface",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenReceiver",
"type": "address"
}
],
"name": "LSP7NotifyTokenReceiverIsEOA",
"type": "error"
},
{
"inputs": [],
"name": "LSP7RevokableFeatureDisabled",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "caller",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "LSP7RevokeOperatorNotAuthorized",
"type": "error"
},
{
"inputs": [],
"name": "LSP7TokenAlreadyTransferable",
"type": "error"
},
{
"inputs": [],
"name": "LSP7TokenContractCannotHoldValue",
"type": "error"
},
{
"inputs": [],
"name": "LSP7TokenOwnerCannotBeOperator",
"type": "error"
},
{
"inputs": [],
"name": "LSP7TransferDisabled",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "functionSelector",
"type": "bytes4"
}
],
"name": "NoExtensionFoundForFunctionSelector",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "OperatorAllowanceCannotBeIncreasedFromZero",
"type": "error"
},
{
"inputs": [],
"name": "OwnableCannotSetZeroAddressAsOwner",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "dataKey",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes",
"name": "dataValue",
"type": "bytes"
}
],
"name": "DataChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bool",
"name": "enabled",
"type": "bool"
}
],
"name": "MintingStatusChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "OperatorAuthorizationChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "notified",
"type": "bool"
},
{
"indexed": false,
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "OperatorRevoked",
"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": true,
"internalType": "bool",
"name": "enabled",
"type": "bool"
}
],
"name": "RevokableStatusChanged",
"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": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bool",
"name": "force",
"type": "bool"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "start",
"type": "uint256"
},
{
"indexed": true,
"internalType": "uint256",
"name": "end",
"type": "uint256"
}
],
"name": "TransferLockPeriodChanged",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "NON_TRANSFERABLE_BYPASS_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "REVOKER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UNCAPPED_BALANCE_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "authorizeOperator",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "authorizedAmountFor",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"name": "batchCalls",
"outputs": [
{
"internalType": "bytes[]",
"name": "results",
"type": "bytes[]"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "decreaseAllowance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "disableMinting",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "disableRevokable",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "dataKey",
"type": "bytes32"
}
],
"name": "getData",
"outputs": [
{
"internalType": "bytes",
"name": "dataValue",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "dataKeys",
"type": "bytes32[]"
}
],
"name": "getDataBatch",
"outputs": [
{
"internalType": "bytes[]",
"name": "dataValues",
"type": "bytes[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
}
],
"name": "getOperatorsOf",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"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"
}
],
"name": "getRoleMembers",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"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": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedAmount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "increaseAllowance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "isMintable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isRevokable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isTransferable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "makeTransferable",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "force",
"type": "bool"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "revoke",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "tokenOwner",
"type": "address"
},
{
"internalType": "bool",
"name": "notify",
"type": "bool"
},
{
"internalType": "bytes",
"name": "operatorNotificationData",
"type": "bytes"
}
],
"name": "revokeOperator",
"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": "account",
"type": "address"
}
],
"name": "rolesOf",
"outputs": [
{
"internalType": "bytes32[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "dataKey",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "dataValue",
"type": "bytes"
}
],
"name": "setData",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "dataKeys",
"type": "bytes32[]"
},
{
"internalType": "bytes[]",
"name": "dataValues",
"type": "bytes[]"
}
],
"name": "setDataBatch",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "adminRole",
"type": "bytes32"
}
],
"name": "setRoleAdmin",
"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": "tokenBalanceCap",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tokenSupplyCap",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "force",
"type": "bool"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "transfer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "from",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "to",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "amount",
"type": "uint256[]"
},
{
"internalType": "bool[]",
"name": "force",
"type": "bool[]"
},
{
"internalType": "bytes[]",
"name": "data",
"type": "bytes[]"
}
],
"name": "transferBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "transferLockEnabled",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "transferLockEnd",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "transferLockStart",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newTransferLockStart",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newTransferLockEnd",
"type": "uint256"
}
],
"name": "updateTransferLockPeriod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60e060405234801561000f575f5ffd5b50604051615ddc380380615ddc83398101604081905261002e91611123565b8051825160208085015186519187015188519192918e8e8e8e8e848484848161005633610322565b6001600160a01b03811661007d576040516306b620db60e21b815260040160405180910390fd5b6100868161032e565b506040805180820190915260048152632936598960e21b60208201526100cd907feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c9061037d565b6100f77fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af18561037d565b6101217f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db9327568461037d565b6040805160208101839052610168917fe0261fa95db2eb3b5439bd033cda66d56b96f92f243a8228fd87550ed7bdfdb3910160408051601f1981840301815291905261037d565b50505050151560805250505f805461019193509091506001600160a01b03166103d1565b6103d1565b6009805460ff19168215159081179091556040517f41f386d449eec03c1c3b75bbba9c18df70aa19779ff47f68eab4b6a66fb399d4905f90a280156101f2576101f25f516020615dbc5f395f51905f5261018c5f546001600160a01b031690565b5060a05260c08190528015610223576102235f516020615d9c5f395f51905f5261018c5f546001600160a01b031690565b508015806102315750818110155b61024e57604051631a83985560e31b815260040160405180910390fd5b600a829055600b819055600c805460ff19166001179055604051819083907f938e6c55d25d181f86d200da26970f962ec97adb02dfa0452811fb9073573ebe905f90a36102b35f516020615d7c5f395f51905f5261018c5f546001600160a01b031690565b5050600c8054821580156101000261ff0019909216919091179091556102f5576102f55f516020615d5c5f395f51905f5261018c5f546001600160a01b031690565b506020840151156103145761031487856020015161044f60201b60201c565b5050505050505050506114a6565b61032b816104ad565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8281526001602052604090206103948282611283565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516103c5919061136b565b60405180910390a25050565b5f8281526007602052604081206103e8908361054e565b9050801561044a576001600160a01b0382165f908152600860205260409020610411908461056b565b5060405133906001600160a01b0384169085907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a45b505050565b5f61045960a05190565b9050808211811580610469575080155b6104865760405163eacbf0d160e01b815260040160405180910390fd5b6104a78484600160405180602001604052805f81525061057660201b60201c565b50505050565b6104c45f516020615d5c5f395f51905f525f6105f5565b6104cd8161065a565b5f6104e45f516020615d5c5f395f51905f5261067a565b90505f5b815181101561044a575f8282815181106105045761050461137d565b60200260200101519050836001600160a01b0316816001600160a01b03160361052d5750610546565b6105445f516020615d5c5f395f51905f5282610693565b505b6001016104e8565b5f610562836001600160a01b038416610710565b90505b92915050565b5f6105628383610710565b6001600160a01b03841661059d57604051630d2d5ec360e41b815260040160405180910390fd5b6105aa5f8585858561075c565b6105b75f85858585610769565b5f335f8686856040516020016105d1959493929190611391565b60408051601f1981840301815291905290506105ee8584836108a8565b5050505050565b816106135760405163d0dc904b60e01b815260040160405180910390fd5b5f82815260066020526040808220805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6106715f516020615d7c5f395f51905f525f6105f5565b61032b816109ab565b5f818152600760205260409020606090610565906109cb565b5f8281526007602052604081206106aa90836109de565b9050801561044a576001600160a01b0382165f9081526008602052604090206106d390846109f2565b5060405133906001600160a01b0384169085907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4505050565b5f81815260018301602052604081205461075557508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610565565b505f610565565b6105ee85858585856109fd565b6001600160a01b038516610793578260025f82825461078891906113df565b9091555061080e9050565b6001600160a01b0385165f90815260036020526040902054808685808310156107ed576040516308d4794960e01b815260048101939093526001600160a01b03909116602483015260448201526064015b60405180910390fd5b5050506001600160a01b0386165f9081526003602052604090209084900390555b6001600160a01b03841661082a57600280548490039055610848565b6001600160a01b0384165f9081526003602052604090208054840190555b836001600160a01b0316856001600160a01b0316336001600160a01b03167f3997e418d2cef0b3b0e907b1e39605c3f7d32dbd061e82ea5b4a770d46a160a6868686604051610899939291906113f2565b60405180910390a45050505050565b6108b983631aed5a8560e21b610a17565b1561094e57604051631aed5a8560e21b81526001600160a01b03841690636bb56a149061090c907f20804611b3e2ea21c480dc465142210acf4a2485947541770ec1fb87dee4a55c90859060040161141b565b5f604051808303815f875af1158015610927573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104a7919081019061143b565b8161044a576001600160a01b0383163b15610987576040516353047ddb60e11b81526001600160a01b03841660048201526024016107e4565b6040516309b091fd60e21b81526001600160a01b03841660048201526024016107e4565b6109c25f516020615d9c5f395f51905f525f6105f5565b61032b81610a9d565b60605f6109d783610abd565b9392505050565b5f610562836001600160a01b038416610b16565b5f6105628383610b16565b610a0a8585858585610bf9565b6105ee8585858585610c13565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b17815282515f9392849283928392918391908a617530fa92503d91505f519050828015610a87575060208210155b8015610a9257505f81115b979650505050505050565b610ab45f516020615dbc5f395f51905f525f6105f5565b61032b81610c34565b6060815f01805480602002602001604051908101604052809291908181526020018280548015610b0a57602002820191905f5260205f20905b815481526020019060010190808311610af6575b50505050509050919050565b5f8181526001830160205260408120548015610bf0575f610b3860018361147f565b85549091505f90610b4b9060019061147f565b9050818114610baa575f865f018281548110610b6957610b6961137d565b905f5260205f200154905080875f018481548110610b8957610b8961137d565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080610bbb57610bbb611492565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610565565b5f915050610565565b610c0284610cc4565b6105ee576105ee8585858585610d44565b610c208585858585610da5565b6105ee85858585856001600160e01b038616565b5f546001600160a01b0316610c488261032e565b6001600160a01b0381165f908152600860205260408120610c68906109cb565b90505f5b81518110156104a7575f828281518110610c8857610c8861137d565b60200260200101519050610ca2818561069360201b60201c565b6001600160a01b03851615610cbb57610cbb81866103d1565b50600101610c6c565b5f80356001600160e01b031916633d7ec2c360e21b148015610cf25750610cf2600c54610100900460ff1690565b8015610d105750610d105f516020615d5c5f395f51905f5233610dbf565b801561056557505f546001600160a01b038381169116148061056557506105655f516020615d5c5f395f51905f5283610dbf565b6001600160a01b0385161580610d6157506001600160a01b038416155b6105ee57610d7c5f516020615d7c5f395f51905f5286610dbf565b6105ee57610d88610dca565b6105ee5760405163103bf34360e11b815260040160405180910390fd5b610dae84610cc4565b6105ee576105ee8585858585610e51565b5f6105628383610f5e565b600c545f9060ff16610ddc5750600190565b600a54600b54901580159115159082610df3575080155b15610e015760019250505090565b81158015610e0c5750805b15610e1d5742600b54109250505090565b818015610e28575080155b15610e395742600a54119250505090565b42600a541180610e4a575042600b54105b9250505090565b836001600160a01b0316856001600160a01b031603156105ee576001600160a01b0384161580610e8b57506001600160a01b03841661dead145b6105ee57610ea65f516020615d9c5f395f51905f5285610dbf565b6105ee575f610eb460c05190565b905080151580610ec55750506105ee565b8185610ee5886001600160a01b03165f9081526003602052604090205490565b610eef91906113df565b11158686610f11826001600160a01b03165f9081526003602052604090205490565b8590919293610f515760405163475ceea960e11b81526001600160a01b0390941660048501526024840192909252604483015260648201526084016107e4565b5050505050505050505050565b5f82815260076020526040812061056290836001600160a01b0381165f9081526001830160205260408120541515610562565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715610fc757610fc7610f91565b60405290565b5f806001600160401b03841115610fe657610fe6610f91565b50604051601f19601f85018116603f011681018181106001600160401b038211171561101457611014610f91565b60405283815290508082840185101561102b575f5ffd5b8383602083015e5f60208583010152509392505050565b5f82601f830112611051575f5ffd5b61056283835160208501610fcd565b8051801515811461106f575f5ffd5b919050565b5f60408284031215611084575f5ffd5b61108c610fa5565b905061109782611060565b815260209182015191810191909152919050565b5f604082840312156110bb575f5ffd5b6110c3610fa5565b825181526020928301519281019290925250919050565b5f602082840312156110ea575f5ffd5b604051602081016001600160401b038111828210171561110c5761110c610f91565b60405290508061111b83611060565b905292915050565b5f5f5f5f5f5f5f5f5f6101808a8c03121561113c575f5ffd5b89516001600160401b03811115611151575f5ffd5b61115d8c828d01611042565b60208c0151909a5090506001600160401b0381111561117a575f5ffd5b6111868c828d01611042565b60408c015190995090506001600160a01b03811681146111a4575f5ffd5b60608b015190975095506111ba60808b01611060565b94506111c98b60a08c01611074565b93506111d88b60e08c016110ab565b92506111e88b6101208c016110ab565b91506111f88b6101608c016110da565b90509295985092959850929598565b600181811c9082168061121b57607f821691505b60208210810361123957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561044a57805f5260205f20601f840160051c810160208510156112645750805b601f840160051c820191505b818110156105ee575f8155600101611270565b81516001600160401b0381111561129c5761129c610f91565b6112b0816112aa8454611207565b8461123f565b6020601f8211600181146112e2575f83156112cb5750848201515b5f19600385901b1c1916600184901b1784556105ee565b5f84815260208120601f198516915b8281101561131157878501518255602094850194600190920191016112f1565b508482101561132e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610562602083018461133d565b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b0386811682528581166020830152841660408201526060810183905260a0608082018190525f90610a929083018461133d565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610565576105656113cb565b8381528215156020820152606060408201525f611412606083018461133d565b95945050505050565b828152604060208201525f611433604083018461133d565b949350505050565b5f6020828403121561144b575f5ffd5b81516001600160401b03811115611460575f5ffd5b8201601f81018413611470575f5ffd5b61143384825160208401610fcd565b81810381811115610565576105656113cb565b634e487b7160e01b5f52603160045260245ffd5b60805160a05160c0516148856114d75f395f8181610988015261374e01525f6111f401525f610fe001526148855ff3fe60806040526004361061032c575f3560e01c806378381670116101a4578063a3246ad3116100eb578063d547741f11610094578063e6fc60981161006e578063e6fc609814610a3c578063ecff3a0c14610a51578063f2fde38b14610a6a578063f5fb0b0c14610a89576103b7565b8063d547741f146109df578063d72fc29a146109fe578063dedff9c614610a1d576103b7565b8063ca15c873116100c5578063ca15c8731461095b578063d1ca01881461097a578063d5391393146109ac576103b7565b8063a3246ad3146108fc578063b49506fd14610928578063c282ca7814610947576103b7565b80639010d07c1161014d578063979024211161012757806397902421146108ba5780639e045773146108cd578063a217fddf146108e9576103b7565b80639010d07c1461084957806391d14854146108685780639418775314610887576103b7565b80637f23690c1161017e5780637f23690c146107d75780638da5cb5b146107ea5780638fb0573014610834576103b7565b806378381670146107715780637c4acabf146107905780637e5cd5c1146107c3576103b7565b806336568abe1161027357806365aeaa951161021c57806370a08231116101f657806370a08231146106de578063715018a61461071f5780637580d92014610733578063760d9bba14610752576103b7565b806365aeaa951461067f5780636963d4381461069e578063696fd68c146106ca576103b7565b806346b45af71161024d57806346b45af71461062657806352058d8a1461063f57806354f6127f14610653576103b7565b806336568abe146105c957806344d17187146105e857806345e14c4614610607576103b7565b80632bc1da82116102d55780632f2ff15d116102af5780632f2ff15d1461056557806330d0dc3714610584578063313ce567146105a3576103b7565b80632bc1da82146104fb5780632d7667c91461051a5780632de9480714610539576103b7565b80631e4e0091116103065780631e4e00911461049b5780632121dc75146104bc578063248a9ca3146104d0576103b7565b806301ffc9a71461041257806312318ac41461044657806318160ddd14610487576103b7565b366103b757345f03610385576040517fe5099ee300000000000000000000000000000000000000000000000000000000815260040161037c9060208082526004908201525f604082015260600190565b60405180910390fd5b6040517f388f5adc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f366060828260048110156103fa576040517fe5099ee300000000000000000000000000000000000000000000000000000000815260040161037c92919061397a565b50506104068383610aa8565b80519350602001915050f35b34801561041d575f5ffd5b5061043161042c3660046139c6565b610c3d565b60405190151581526020015b60405180910390f35b348015610451575f5ffd5b506104797fb4b3a36d7c2b72add3151898671aaed843238e580f7d6d4bc5077ce2023b065981565b60405190815260200161043d565b348015610492575f5ffd5b50600254610479565b3480156104a6575f5ffd5b506104ba6104b5366004613a05565b610c47565b005b3480156104c7575f5ffd5b50610431610c60565b3480156104db575f5ffd5b506104796104ea366004613a25565b5f9081526006602052604090205490565b348015610506575f5ffd5b506104ba610515366004613b77565b610ce7565b348015610525575f5ffd5b506104ba610534366004613da4565b610d9a565b348015610544575f5ffd5b50610558610553366004613e87565b610e9f565b60405161043d9190613ea0565b348015610570575f5ffd5b506104ba61057f366004613ee2565b610ecf565b34801561058f575f5ffd5b506104ba61059e366004613f0c565b610ef0565b3480156105ae575f5ffd5b506105b7610fdd565b60405160ff909116815260200161043d565b3480156105d4575f5ffd5b506104ba6105e3366004613ee2565b61100e565b3480156105f3575f5ffd5b506104ba610602366004613b77565b6110ea565b348015610612575f5ffd5b506104ba610621366004613a05565b61111d565b348015610631575f5ffd5b506009546104319060ff1681565b34801561064a575f5ffd5b506104796111de565b34801561065e575f5ffd5b5061067261066d366004613a25565b611216565b60405161043d9190613fc3565b34801561068a575f5ffd5b50610479610699366004613fd5565b611221565b3480156106a9575f5ffd5b506106bd6106b8366004613ffd565b6112b8565b60405161043d919061406e565b3480156106d5575f5ffd5b506104ba611403565b3480156106e9575f5ffd5b506104796106f8366004613e87565b73ffffffffffffffffffffffffffffffffffffffff165f9081526003602052604090205490565b34801561072a575f5ffd5b506104ba6114a6565b34801561073e575f5ffd5b506104ba61074d3660046140ef565b6114b9565b34801561075d575f5ffd5b506104ba61076c366004614120565b6114ef565b34801561077c575f5ffd5b506104ba61078b366004614187565b611524565b34801561079b575f5ffd5b506104797fce3f34913921da558f105cefb578d87278debbbd073a8d552b5de0d168deee3081565b3480156107ce575f5ffd5b506104ba61164e565b6104ba6107e53660046141d3565b6116e6565b3480156107f5575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161043d565b34801561083f575f5ffd5b50610479600b5481565b348015610854575f5ffd5b5061080f610863366004613a05565b611730565b348015610873575f5ffd5b50610431610882366004613ee2565b61174e565b348015610892575f5ffd5b506104797f975773d1e0a917a74b57f36a377f439ffff6271648aebdbff75a52ab58eb7bad81565b6104ba6108c8366004614217565b611759565b3480156108d8575f5ffd5b50600c54610100900460ff16610431565b3480156108f4575f5ffd5b506104795f81565b348015610907575f5ffd5b5061091b610916366004613a25565b6117a3565b60405161043d9190614272565b348015610933575f5ffd5b506104ba610942366004613b77565b6117bc565b348015610952575f5ffd5b506104ba6117fb565b348015610966575f5ffd5b50610479610975366004613a25565b611898565b348015610985575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610479565b3480156109b7575f5ffd5b506104797f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b3480156109ea575f5ffd5b506104ba6109f9366004613ee2565b6118ae565b348015610a09575f5ffd5b5061091b610a18366004613e87565b611951565b348015610a28575f5ffd5b506106bd610a373660046142bf565b611981565b348015610a47575f5ffd5b50610479600a5481565b348015610a5c575f5ffd5b50600c546104319060ff1681565b348015610a75575f5ffd5b506104ba610a84366004613e87565b611a2b565b348015610a94575f5ffd5b506104ba610aa3366004614187565b611ae2565b60605f610ad75f357fffffffff0000000000000000000000000000000000000000000000000000000016611c22565b5090507fffffffff000000000000000000000000000000000000000000000000000000005f351673ffffffffffffffffffffffffffffffffffffffff8216610b70576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000