Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Write Contract
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify.
View contract in Sourcify repository
- Contract name:
- Note
- Optimization enabled
- true
- Compiler version
- v0.8.11+commit.d7f03943
- Optimization runs
- 200
- EVM Version
- london
- Verified at
- 2023-08-10T14:13:45.806578Z
src/Note.sol
pragma solidity ^0.8.10;import "./ERC20.sol";contract Note is ERC20 {address public accountant;address public admin;constructor() ERC20("Note", "NOTE", 0, 18) {admin = msg.sender;}function _mint_to_Accountant(address accountantDelegator) internal {_mint(accountantDelegator, type(uint).max);}function RetAccountant() public view returns(address) {return accountant;}function _setAccountantAddress(address accountant_) external {require(msg.sender == admin);require(address(accountant) == address(0)); //Note cannot be initialized twice// set the New Accountantaccountant = accountant_;if (balanceOf(accountant) != type(uint).max) {_mint_to_Accountant(accountant);admin = accountant; //admin of this account is now the accountant}}}
/src/EIP20Interface.sol
// SPDX-License-Identifier: BSD-3-Clausepragma solidity ^0.8.10;/*** @title ERC 20 Token Standard Interface* https://eips.ethereum.org/EIPS/eip-20*/interface EIP20Interface {function name() external view returns (string memory);function symbol() external view returns (string memory);function decimals() external view returns (uint8);/*** @notice Get the total number of tokens in circulation* @return The supply of tokens*/function totalSupply() external view returns (uint256);/*** @notice Gets the balance of the specified address* @param owner The address from which the balance will be retrieved* @return balance The balance*/function balanceOf(address owner) external view returns (uint256 balance);/*** @notice Transfer `amount` tokens from `msg.sender` to `dst`* @param dst The address of the destination account* @param amount The number of tokens to transfer* @return success Whether or not the transfer succeeded*/function transfer(address dst, uint256 amount) external returns (bool success);/*** @notice Transfer `amount` tokens from `src` to `dst`* @param src The address of the source account* @param dst The address of the destination account* @param amount The number of tokens to transfer* @return success Whether or not the transfer succeeded*/function transferFrom(address src, address dst, uint256 amount) external returns (bool success);
/src/ERC20.sol
pragma solidity ^0.8.10;import "./EIP20Interface.sol";contract ERC20 is EIP20Interface {mapping(address => uint256) private _balances;mapping(address => mapping(address => uint256)) private _allowances;uint256 private _totalSupply;uint256 public _initialSupply;uint8 public _decimals;string private _name;string private _symbol;uint256 MAX_INT = 2**256-1;/*** @dev Sets the values for {name} and {symbol}.** The default value of {decimals} is 18. To select a different value for* {decimals} you should overload it.** All two of these values are immutable: they can only be set once during* construction.*/constructor(string memory name_, string memory symbol_, uint256 totalSupply_, uint8 decimals_) public {_name = name_;_symbol = symbol_;_initialSupply = totalSupply_;_totalSupply = totalSupply_;_balances[msg.sender] = totalSupply_;_decimals = decimals_;}/*** @dev Returns the name of the token.
Compiler Settings
{"remappings":[],"optimizer":{"runs":200,"enabled":true},"metadata":{"useLiteralContent":true,"bytecodeHash":"ipfs"},"libraries":{"::__CACHE_BREAKER__":"0x0000000000000031363630313837333733303434"},"evmVersion":"london","compilationTarget":{"src/Note.sol":"Note"}}
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"RetAccountant","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"_decimals","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"_initialSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"_setAccountantAddress","inputs":[{"type":"address","name":"accountant_","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"accountant","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"admin","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"decreaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"subtractedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"increaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"addedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]}]
Contract Creation Code
0x608060405260001960075534801561001657600080fd5b50604051806040016040528060048152602001634e6f746560e01b815250604051806040016040528060048152602001634e4f544560e01b81525060006012836005908051906020019061006b9291906100cc565b50825161007f9060069060208601906100cc565b5060038290556002829055336000818152602081905260409020929092556004805460ff191660ff92909216919091179055600980546001600160a01b0319169091179055506101a09050565b8280546100d890610165565b90600052602060002090601f0160209004810192826100fa5760008555610140565b82601f1061011357805160ff1916838001178555610140565b82800160010185558215610140579182015b82811115610140578251825591602001919060010190610125565b5061014c929150610150565b5090565b5b8082111561014c5760008155600101610151565b600181811c9082168061017957607f821691505b6020821081141561019a57634e487b7160e01b600052602260045260246000fd5b50919050565b610b19806101af6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634fb3ccc5116100a2578063a9059cbb11610071578063a9059cbb1461022b578063c3b2d3371461023e578063dd62ed3e14610247578063f7e593001461025a578063f851a4401461026f57600080fd5b80634fb3ccc5146101d457806370a08231146101e757806395d89b4114610210578063a457c2d71461021857600080fd5b8063313ce567116100de578063313ce5671461017657806332424aa31461018f578063395093511461019c5780634e2a792e146101af57600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b610118610282565b6040516101259190610937565b60405180910390f35b61014161013c3660046109a8565b610314565b6040519015158152602001610125565b6002545b604051908152602001610125565b6101416101713660046109d2565b61032c565b60045460ff165b60405160ff9091168152602001610125565b60045461017d9060ff1681565b6101416101aa3660046109a8565b610350565b6008546001600160a01b03165b6040516001600160a01b039091168152602001610125565b6008546101bc906001600160a01b031681565b6101556101f5366004610a0e565b6001600160a01b031660009081526020819052604090205490565b610118610372565b6101416102263660046109a8565b610381565b6101416102393660046109a8565b610403565b61015560035481565b610155610255366004610a30565b610411565b61026d610268366004610a0e565b61043c565b005b6009546101bc906001600160a01b031681565b60606005805461029190610a63565b80601f01602080910402602001604051908101604052809291908181526020018280546102bd90610a63565b801561030a5780601f106102df5761010080835404028352916020019161030a565b820191906000526020600020905b8154815290600101906020018083116102ed57829003601f168201915b5050505050905090565b6000336103228185856104d9565b5060019392505050565b60003361033a8582856105fd565b610345858585610679565b506001949350505050565b6000336103228185856103638383610411565b61036d9190610ab4565b6104d9565b60606006805461029190610a63565b6000338161038f8286610411565b9050838110156103f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610345828661036d8785610acc565b600033610322818585610679565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6009546001600160a01b0316331461045357600080fd5b6008546001600160a01b03161561046957600080fd5b600880546001600160a01b0319166001600160a01b038316908117909155600090815260208190526040902054600019146104d6576008546104b3906001600160a01b0316610851565b600854600980546001600160a01b0319166001600160a01b039092169190911790555b50565b6001600160a01b03831661053b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103eb565b6001600160a01b03821661059c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106098484610411565b9050600754811461067357818110156106645760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610673848461036d8585610acc565b50505050565b6001600160a01b0383166106dd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103eb565b6001600160a01b03821661073f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103eb565b6001600160a01b038316600090815260208190526040902054818110156107b75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103eb565b6107c18282610acc565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906107f7908490610ab4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161084391815260200190565b60405180910390a350505050565b6104d6816000196001600160a01b0382166108ae5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103eb565b80600260008282546108c09190610ab4565b90915550506001600160a01b038216600090815260208190526040812080548392906108ed908490610ab4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b8181101561096457858101830151858201604001528201610948565b81811115610976576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109a357600080fd5b919050565b600080604083850312156109bb57600080fd5b6109c48361098c565b946020939093013593505050565b6000806000606084860312156109e757600080fd5b6109f08461098c565b92506109fe6020850161098c565b9150604084013590509250925092565b600060208284031215610a2057600080fd5b610a298261098c565b9392505050565b60008060408385031215610a4357600080fd5b610a4c8361098c565b9150610a5a6020840161098c565b90509250929050565b600181811c90821680610a7757607f821691505b60208210811415610a9857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ac757610ac7610a9e565b500190565b600082821015610ade57610ade610a9e565b50039056fea26469706673582212207a9abcd4018e270512dcb15910f0e028645123ee17ebbf0b777d86dd7b3b2f6e64736f6c634300080b0033
Deployed ByteCode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634fb3ccc5116100a2578063a9059cbb11610071578063a9059cbb1461022b578063c3b2d3371461023e578063dd62ed3e14610247578063f7e593001461025a578063f851a4401461026f57600080fd5b80634fb3ccc5146101d457806370a08231146101e757806395d89b4114610210578063a457c2d71461021857600080fd5b8063313ce567116100de578063313ce5671461017657806332424aa31461018f578063395093511461019c5780634e2a792e146101af57600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b610118610282565b6040516101259190610937565b60405180910390f35b61014161013c3660046109a8565b610314565b6040519015158152602001610125565b6002545b604051908152602001610125565b6101416101713660046109d2565b61032c565b60045460ff165b60405160ff9091168152602001610125565b60045461017d9060ff1681565b6101416101aa3660046109a8565b610350565b6008546001600160a01b03165b6040516001600160a01b039091168152602001610125565b6008546101bc906001600160a01b031681565b6101556101f5366004610a0e565b6001600160a01b031660009081526020819052604090205490565b610118610372565b6101416102263660046109a8565b610381565b6101416102393660046109a8565b610403565b61015560035481565b610155610255366004610a30565b610411565b61026d610268366004610a0e565b61043c565b005b6009546101bc906001600160a01b031681565b60606005805461029190610a63565b80601f01602080910402602001604051908101604052809291908181526020018280546102bd90610a63565b801561030a5780601f106102df5761010080835404028352916020019161030a565b820191906000526020600020905b8154815290600101906020018083116102ed57829003601f168201915b5050505050905090565b6000336103228185856104d9565b5060019392505050565b60003361033a8582856105fd565b610345858585610679565b506001949350505050565b6000336103228185856103638383610411565b61036d9190610ab4565b6104d9565b60606006805461029190610a63565b6000338161038f8286610411565b9050838110156103f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610345828661036d8785610acc565b600033610322818585610679565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6009546001600160a01b0316331461045357600080fd5b6008546001600160a01b03161561046957600080fd5b600880546001600160a01b0319166001600160a01b038316908117909155600090815260208190526040902054600019146104d6576008546104b3906001600160a01b0316610851565b600854600980546001600160a01b0319166001600160a01b039092169190911790555b50565b6001600160a01b03831661053b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103eb565b6001600160a01b03821661059c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106098484610411565b9050600754811461067357818110156106645760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610673848461036d8585610acc565b50505050565b6001600160a01b0383166106dd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103eb565b6001600160a01b03821661073f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103eb565b6001600160a01b038316600090815260208190526040902054818110156107b75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103eb565b6107c18282610acc565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906107f7908490610ab4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161084391815260200190565b60405180910390a350505050565b6104d6816000196001600160a01b0382166108ae5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103eb565b80600260008282546108c09190610ab4565b90915550506001600160a01b038216600090815260208190526040812080548392906108ed908490610ab4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b8181101561096457858101830151858201604001528201610948565b81811115610976576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109a357600080fd5b919050565b600080604083850312156109bb57600080fd5b6109c48361098c565b946020939093013593505050565b6000806000606084860312156109e757600080fd5b6109f08461098c565b92506109fe6020850161098c565b9150604084013590509250925092565b600060208284031215610a2057600080fd5b610a298261098c565b9392505050565b60008060408385031215610a4357600080fd5b610a4c8361098c565b9150610a5a6020840161098c565b90509250929050565b600181811c90821680610a7757607f821691505b60208210811415610a9857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ac757610ac7610a9e565b500190565b600082821015610ade57610ade610a9e565b50039056fea26469706673582212207a9abcd4018e270512dcb15910f0e028645123ee17ebbf0b777d86dd7b3b2f6e64736f6c634300080b0033
External libraries
::__CACHE_BREAKER__ : 0x0000000000000031363630313837333733303434