[
{
"inputs": [
{
"internalType": "address",
"name": "transferRules_",
"type": "address"
},
{
"internalType": "address",
"name": "contractAdmin_",
"type": "address"
},
{
"internalType": "address",
"name": "tokenReserveAdmin_",
"type": "address"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "totalSupply_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxTotalSupply_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minTimelockAmount_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxReleaseDelay_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"name": "AddressFrozen",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "AddressTransferGroup",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "fromGroup",
"type": "uint256"
},
{
"indexed": true,
"internalType": "uint256",
"name": "toGroup",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "lockedUntil",
"type": "uint256"
}
],
"name": "AllowGroupTransfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "holderId",
"type": "uint256"
}
],
"name": "AppendHolderAddress",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"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"
}
],
"name": "ForceTransferBetween",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "holderId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "HolderCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newBalance",
"type": "uint256"
}
],
"name": "MinWalletBalanceUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"name": "Pause",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "holderId",
"type": "uint256"
}
],
"name": "RemoveHolder",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "grantor",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "grantee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint8",
"name": "role",
"type": "uint8"
},
{
"indexed": true,
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"name": "RoleChange",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
}
],
"name": "ScheduleCreated",
"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": "scheduleId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "commencementTimestamp",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timelockId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address[]",
"name": "cancelableBy",
"type": "address[]"
}
],
"name": "ScheduleFunded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "groupId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "int256",
"name": "groupHolderMax",
"type": "int256"
}
],
"name": "SetHolderGroupMax",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": false,
"internalType": "int256",
"name": "holderMax",
"type": "int256"
}
],
"name": "SetHolderMax",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "Snapshot",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "canceledBy",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "target",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "reclaimTokenTo",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "canceledAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "paidAmount",
"type": "uint256"
}
],
"name": "TimelockCanceled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "oldRules",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newRules",
"type": "address"
}
],
"name": "Upgrade",
"type": "event"
},
{
"inputs": [],
"name": "CONTRACT_ADMIN_ROLE",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RESERVE_ADMIN_ROLE",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "TRANSFER_ADMIN_ROLE",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WALLETS_ADMIN_ROLE",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "_ITRANSFER_RULES_INTERFACE_ID",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "addresses_",
"type": "address[]"
}
],
"name": "addHolderWithAddresses",
"outputs": [
{
"internalType": "uint256",
"name": "_holderId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
}
],
"name": "addressHasHolder",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "holderId",
"type": "uint256"
}
],
"name": "appendHolderAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "snapshotId",
"type": "uint256"
}
],
"name": "balanceOfAt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
}
],
"name": "balanceOfTimelock",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "to",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "commencementTimestamps",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "scheduleIds",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "cancelableBy",
"type": "address[]"
}
],
"name": "batchFundReleaseSchedule",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "recipients",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
}
],
"name": "batchTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from_",
"type": "address"
},
{
"internalType": "uint256",
"name": "value_",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "commencedTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "currentTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "releaseCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "delayUntilFirstReleaseInSeconds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialReleasePortionInBips",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "periodBetweenReleasesInSeconds",
"type": "uint256"
}
],
"internalType": "struct RestrictedLockupToken.ReleaseSchedule",
"name": "releaseSchedule",
"type": "tuple"
}
],
"name": "calculateUnlocked",
"outputs": [
{
"internalType": "uint256",
"name": "unlocked",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "commencedTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "currentTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "releaseCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "delayUntilFirstReleaseInSeconds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialReleasePortionInBips",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "periodBetweenReleasesInSeconds",
"type": "uint256"
}
],
"name": "calculateUnlocked",
"outputs": [
{
"internalType": "uint256",
"name": "unlocked",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "commencedTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "currentTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
}
],
"name": "calculateUnlocked",
"outputs": [
{
"internalType": "uint256",
"name": "unlocked",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "commencementTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "reclaimTokenTo",
"type": "address"
}
],
"name": "cancelTimelock",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "contractAdminCount",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "contractBalanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
}
],
"name": "createHolderFromAddress",
"outputs": [
{
"internalType": "uint256",
"name": "_holderId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "releaseCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "delayUntilFirstReleaseInSeconds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialReleasePortionInBips",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "periodBetweenReleasesInSeconds",
"type": "uint256"
}
],
"name": "createReleaseSchedule",
"outputs": [
{
"internalType": "uint256",
"name": "unlockScheduleId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "detectTransferRestriction",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "forceTransferBetween",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"name": "freeze",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "commencementTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "cancelableBy",
"type": "address[]"
}
],
"name": "fundReleaseSchedule",
"outputs": [
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "from",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "to",
"type": "uint256"
}
],
"name": "getAllowGroupTransferTime",
"outputs": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "getAllowTransferTime",
"outputs": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentSnapshotId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getFrozenStatus",
"outputs": [
{
"internalType": "bool",
"name": "status",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "holderId_",
"type": "uint256"
}
],
"name": "getHolderAddresses",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
}
],
"name": "getHolderId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
}
],
"name": "getTransferGroup",
"outputs": [
{
"internalType": "uint256",
"name": "groupId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
}
],
"name": "hasAnyGroup",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
},
{
"internalType": "uint256",
"name": "groupId_",
"type": "uint256"
}
],
"name": "hasGroup",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "holderId_",
"type": "uint256"
}
],
"name": "holderBalance",
"outputs": [
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "holderId_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "groupId_",
"type": "uint256"
}
],
"name": "holderBalanceByGroupId",
"outputs": [
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "holderCount",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "holderId_",
"type": "uint256"
}
],
"name": "holderExists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "holderGroupCount",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "holderGroupMax",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "holderMax",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "isPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "transferRulesAddr_",
"type": "address"
}
],
"name": "isValidTransferRules",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "lockedBalanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "amount_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
}
],
"name": "lockedBalanceOfTimelock",
"outputs": [
{
"internalType": "uint256",
"name": "locked",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxReleaseDelay",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "maxTotalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "restrictionCode",
"type": "uint8"
}
],
"name": "messageForTransferRestriction",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minTimelockAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minWalletBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to_",
"type": "address"
},
{
"internalType": "uint256",
"name": "value_",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "isPaused_",
"type": "bool"
}
],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "releaseSchedules",
"outputs": [
{
"internalType": "uint256",
"name": "releaseCount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "delayUntilFirstReleaseInSeconds",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "initialReleasePortionInBips",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "periodBetweenReleasesInSeconds",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "holderId",
"type": "uint256"
}
],
"name": "removeHolder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint8",
"name": "role",
"type": "uint8"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "safeApprove",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "scheduleCount",
"outputs": [
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "buyerAddr_",
"type": "address"
},
{
"internalType": "uint256",
"name": "groupId_",
"type": "uint256"
},
{
"internalType": "bool",
"name": "freezeStatus_",
"type": "bool"
}
],
"name": "setAddressPermissions",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "from",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "to",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedUntil",
"type": "uint256"
}
],
"name": "setAllowGroupTransfer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "groupId",
"type": "uint256"
},
{
"internalType": "int256",
"name": "groupHolderMax",
"type": "int256"
}
],
"name": "setHolderGroupMax",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "int256",
"name": "holderMax_",
"type": "int256"
}
],
"name": "setHolderMax",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "minWalletBalance_",
"type": "uint256"
}
],
"name": "setMinWalletBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "addr_",
"type": "address"
},
{
"internalType": "uint256",
"name": "groupId_",
"type": "uint256"
},
{
"internalType": "bool",
"name": "ignoreMinWalletBalance",
"type": "bool"
}
],
"name": "setTransferGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "snapshot",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "superBalanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"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": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "timelockCountOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "timelockOf",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "funder",
"type": "address"
},
{
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "commencementTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokensTransferred",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "cancelableBy",
"type": "address[]"
}
],
"internalType": "struct RestrictedLockupToken.Timelock",
"name": "timelock",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "timelocks",
"outputs": [
{
"internalType": "address",
"name": "funder",
"type": "address"
},
{
"internalType": "uint256",
"name": "scheduleId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "commencementTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tokensTransferred",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalAmount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "snapshotId",
"type": "uint256"
}
],
"name": "totalSupplyAt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
}
],
"name": "totalUnlockedToDateOfTimelock",
"outputs": [
{
"internalType": "uint256",
"name": "total",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "transferRules",
"outputs": [
{
"internalType": "contract ITransferRules",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timelockId",
"type": "uint256"
}
],
"name": "transferTimelock",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "unlockedBalanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "amount_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
},
{
"internalType": "uint256",
"name": "timelockIndex",
"type": "uint256"
}
],
"name": "unlockedBalanceOfTimelock",
"outputs": [
{
"internalType": "uint256",
"name": "unlocked",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "unlockedTotalBalanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ITransferRules",
"name": "newTransferRules",
"type": "address"
}
],
"name": "upgradeTransferRules",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]