Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
157,670,505.00 LPT

Holders:
122,936
Profile Summary
Blockchain:
Holesky (17000)


Decimals:
18
Contract Source Code Verified (Exact Match)
Contract Name:
MockToken

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Created At:
Thu, 23 May 2024 06:41:00 GMT
MockToken.sol
src
MockToken.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "minter",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "AccessControlBadConfirmation",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bytes32",
        "name": "neededRole",
        "type": "bytes32"
      }
    ],
    "name": "AccessControlUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "allowance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientAllowance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "balance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "ERC20InsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "approver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidApprover",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidReceiver",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "ERC20InvalidSpender",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "id",
        "type": "string"
      }
    ],
    "name": "RepeatedID",
    "type": "error"
  },
  {
    "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": "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": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "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": [
      {
        "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": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "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": "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": "string",
        "name": "",
        "type": "string"
      }
    ],
    "name": "ids",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "mint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "id",
        "type": "string"
      }
    ],
    "name": "mintWithId",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "callerConfirmation",
        "type": "address"
      }
    ],
    "name": "renounceRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "role",
        "type": "bytes32"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "revokeRole",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "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": "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": "",
        "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": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
60806040523480156200001157600080fd5b50604051620011ce380380620011ce833981016040819052620000349162000217565b8282600362000044838262000335565b50600462000053828262000335565b5062000065915060009050336200009c565b50620000927f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826200009c565b5050505062000401565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620001455760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620000fc3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000149565b5060005b92915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017757600080fd5b81516001600160401b03808211156200019457620001946200014f565b604051601f8301601f19908116603f01168101908282118183101715620001bf57620001bf6200014f565b8160405283815260209250866020858801011115620001dd57600080fd5b600091505b83821015620002015785820183015181830184015290820190620001e2565b6000602085830101528094505050505092915050565b6000806000606084860312156200022d57600080fd5b83516001600160401b03808211156200024557600080fd5b620002538783880162000165565b945060208601519150808211156200026a57600080fd5b50620002798682870162000165565b604086015190935090506001600160a01b03811681146200029957600080fd5b809150509250925092565b600181811c90821680620002b957607f821691505b602082108103620002da57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000330576000816000526020600020601f850160051c810160208610156200030b5750805b601f850160051c820191505b818110156200032c5782815560010162000317565b5050505b505050565b81516001600160401b038111156200035157620003516200014f565b6200036981620003628454620002a4565b84620002e0565b602080601f831160018114620003a15760008415620003885750858301515b600019600386901b1c1916600185901b1785556200032c565b600085815260208120601f198616915b82811015620003d257888601518255948401946001909101908401620003b1565b5085821015620003f15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610dbd80620004116000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806356d30bf8116100ad578063a217fddf11610071578063a217fddf14610298578063a9059cbb146102a0578063d5391393146102b3578063d547741f146102da578063dd62ed3e146102ed57600080fd5b806356d30bf81461021357806370a08231146102265780638a08677d1461024f57806391d148541461027d57806395d89b411461029057600080fd5b8063248a9ca3116100f4578063248a9ca3146101a65780632f2ff15d146101c9578063313ce567146101de57806336568abe146101ed57806340c10f191461020057600080fd5b806301ffc9a71461013157806306fdde0314610159578063095ea7b31461016e57806318160ddd1461018157806323b872dd14610193575b600080fd5b61014461013f366004610a45565b610326565b60405190151581526020015b60405180910390f35b61016161035d565b6040516101509190610a9a565b61014461017c366004610ae9565b6103ef565b6002545b604051908152602001610150565b6101446101a1366004610b13565b610407565b6101856101b4366004610b4f565b60009081526005602052604090206001015490565b6101dc6101d7366004610b68565b61042b565b005b60405160128152602001610150565b6101dc6101fb366004610b68565b610456565b6101dc61020e366004610ae9565b61048e565b6101dc610221366004610c37565b6104c2565b610185610234366004610c8e565b6001600160a01b031660009081526020819052604090205490565b61014461025d366004610ca9565b805160208183018101805160068252928201919093012091525460ff1681565b61014461028b366004610b68565b610574565b61016161059f565b610185600081565b6101446102ae366004610ae9565b6105ae565b6101857f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6101dc6102e8366004610b68565b6105bc565b6101856102fb366004610ce6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006001600160e01b03198216637965db0b60e01b148061035757506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461036c90610d10565b80601f016020809104026020016040519081016040528092919081815260200182805461039890610d10565b80156103e55780601f106103ba576101008083540402835291602001916103e5565b820191906000526020600020905b8154815290600101906020018083116103c857829003601f168201915b5050505050905090565b6000336103fd8185856105e1565b5060019392505050565b6000336104158582856105ee565b610420858585610666565b506001949350505050565b600082815260056020526040902060010154610446816106c5565b61045083836106d2565b50505050565b6001600160a01b038116331461047f5760405163334bd91960e11b815260040160405180910390fd5b6104898282610766565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66104b8816106c5565b61048983836107d3565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66104ec816106c5565b6006826040516104fc9190610d4a565b9081526040519081900360200190205460ff161561053857816040516307c117c960e31b815260040161052f9190610a9a565b60405180910390fd5b600160068360405161054a9190610d4a565b908152604051908190036020019020805491151560ff1990921691909117905561045084846107d3565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461036c90610d10565b6000336103fd818585610666565b6000828152600560205260409020600101546105d7816106c5565b6104508383610766565b610489838383600161080d565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610450578181101561065757604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161052f565b6104508484848403600061080d565b6001600160a01b03831661069057604051634b637e8f60e11b81526000600482015260240161052f565b6001600160a01b0382166106ba5760405163ec442f0560e01b81526000600482015260240161052f565b6104898383836108e2565b6106cf8133610a0c565b50565b60006106de8383610574565b61075e5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff191660011790556107163390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610357565b506000610357565b60006107728383610574565b1561075e5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610357565b6001600160a01b0382166107fd5760405163ec442f0560e01b81526000600482015260240161052f565b610809600083836108e2565b5050565b6001600160a01b0384166108375760405163e602df0560e01b81526000600482015260240161052f565b6001600160a01b03831661086157604051634a1406b160e11b81526000600482015260240161052f565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561045057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108d491815260200190565b60405180910390a350505050565b6001600160a01b03831661090d5780600260008282546109029190610d66565b9091555061097f9050565b6001600160a01b038316600090815260208190526040902054818110156109605760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161052f565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661099b576002805482900390556109ba565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109ff91815260200190565b60405180910390a3505050565b610a168282610574565b6108095760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161052f565b600060208284031215610a5757600080fd5b81356001600160e01b031981168114610a6f57600080fd5b9392505050565b60005b83811015610a91578181015183820152602001610a79565b50506000910152565b6020815260008251806020840152610ab9816040850160208701610a76565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ae457600080fd5b919050565b60008060408385031215610afc57600080fd5b610b0583610acd565b946020939093013593505050565b600080600060608486031215610b2857600080fd5b610b3184610acd565b9250610b3f60208501610acd565b9150604084013590509250925092565b600060208284031215610b6157600080fd5b5035919050565b60008060408385031215610b7b57600080fd5b82359150610b8b60208401610acd565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610bbb57600080fd5b813567ffffffffffffffff80821115610bd657610bd6610b94565b604051601f8301601f19908116603f01168101908282118183101715610bfe57610bfe610b94565b81604052838152866020858801011115610c1757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610c4c57600080fd5b610c5584610acd565b925060208401359150604084013567ffffffffffffffff811115610c7857600080fd5b610c8486828701610baa565b9150509250925092565b600060208284031215610ca057600080fd5b610a6f82610acd565b600060208284031215610cbb57600080fd5b813567ffffffffffffffff811115610cd257600080fd5b610cde84828501610baa565b949350505050565b60008060408385031215610cf957600080fd5b610d0283610acd565b9150610b8b60208401610acd565b600181811c90821680610d2457607f821691505b602082108103610d4457634e487b7160e01b600052602260045260246000fd5b50919050565b60008251610d5c818460208701610a76565b9190910192915050565b8082018082111561035757634e487b7160e01b600052601160045260246000fdfea2646970667358221220a6b54528fcccdf659099960f794d722b3eb8755da0f2c3efb1e0c8fccfc3162964736f6c63430008160033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ce150d52d01b7cb0b0e1b37a52bcb2227f8e2d35000000000000000000000000000000000000000000000000000000000000000e4d6f636b204c505420546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034c50540000000000000000000000000000000000000000000000000000000000