Source Code
Overview
MATIC Balance
0 MATIC
More Info
ContractCreator:
TokenTracker
Multichain Info
N/A
Latest 25 from a total of 74 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 26390274 | 679 days ago | IN | 0 MATIC | 0.00014526 | ||||
Approve | 24850643 | 776 days ago | IN | 0 MATIC | 0.00009024 | ||||
Transfer | 24828033 | 776 days ago | IN | 0 MATIC | 0.00009974 | ||||
Approve | 24827799 | 776 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24827327 | 776 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24827027 | 776 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24826609 | 776 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24824084 | 777 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24824066 | 777 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24823843 | 777 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24823214 | 777 days ago | IN | 0 MATIC | 0.00009024 | ||||
Approve | 24822404 | 777 days ago | IN | 0 MATIC | 0.00009024 | ||||
Transfer | 24820300 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820297 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820294 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820292 | 777 days ago | IN | 0 MATIC | 0.00012859 | ||||
Transfer | 24820289 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820287 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820282 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820277 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820265 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820253 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820246 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820241 | 777 days ago | IN | 0 MATIC | 0.00012862 | ||||
Transfer | 24820236 | 777 days ago | IN | 0 MATIC | 0.00012862 |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xA4abf1B7...77c4225A4 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Dai
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity =0.8.4; contract Dai { // MODEL address public owner; address public pendingOwner; string public constant name = "Dai Stablecoin"; string public constant symbol = "DAI"; uint8 public immutable decimals = 18; address private constant ZERO = address(type(uint160).min); uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; constructor(address _owner) { require(_owner != address(0), "Zero"); owner = _owner; } // EVENT event Approval( address indexed _owner, address indexed _spender, uint256 _value ); event Transfer(address indexed _from, address indexed _to, uint256 _value); // UPDATE function approve(address _spender, uint256 _value) external returns (bool) { _approve(msg.sender, _spender, _value); return true; } function transfer(address _to, uint256 _value) external returns (bool) { _transfer(msg.sender, _to, _value); return true; } function transferFrom( address _from, address _to, uint256 _value ) external returns (bool) { if ( msg.sender != _from && allowance[_from][msg.sender] != type(uint256).max ) { allowance[_from][msg.sender] -= _value; emit Approval(_from, msg.sender, allowance[_from][msg.sender]); } _transfer(_from, _to, _value); return true; } function mint() external { totalSupply += 1000000000000000000000; balanceOf[msg.sender] += 1000000000000000000000; emit Transfer(ZERO, msg.sender, 1000000000000000000000); } function mint(uint256 _value) external { require(msg.sender == owner, "Forbidden"); totalSupply += _value; balanceOf[msg.sender] += _value; emit Transfer(ZERO, msg.sender, _value); } // HELPER function _approve( address _owner, address _spender, uint256 _value ) private { allowance[_owner][_spender] = _value; emit Approval(_owner, _spender, _value); } function _transfer( address _from, address _to, uint256 _value ) private { balanceOf[_from] -= _value; balanceOf[_to] += _value; emit Transfer(_from, _to, _value); } function setOwner(address _pendingOwner) external { require(msg.sender == owner, "Forbidden"); require(_pendingOwner != address(0), "Zero"); pendingOwner = _pendingOwner; } function acceptOwner() external { require(msg.sender == pendingOwner, "Forbidden"); owner = msg.sender; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"_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":"acceptOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","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":[],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pendingOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","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"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb14610260578063dd62ed3e14610273578063e30c39781461029e578063ebbc4965146102b157600080fd5b806370a08231146101e05780638da5cb5b1461020057806395d89b411461022b578063a0712d681461024d57600080fd5b806313af4035116100d357806313af40351461016a57806318160ddd1461017d57806323b872dd14610194578063313ce567146101a757600080fd5b806306fdde03146100fa578063095ea7b31461013d5780631249c58b14610160575b600080fd5b6101276040518060400160405280600e81526020016d2230b49029ba30b13632b1b7b4b760911b81525081565b60405161013491906107b9565b60405180910390f35b61015061014b366004610778565b6102b9565b6040519015158152602001610134565b6101686102cf565b005b6101686101783660046106ea565b61035f565b61018660025481565b604051908152602001610134565b6101506101a236600461073d565b6103f3565b6101ce7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610134565b6101866101ee3660046106ea565b60036020526000908152604090205481565b600054610213906001600160a01b031681565b6040516001600160a01b039091168152602001610134565b6101276040518060400160405280600381526020016244414960e81b81525081565b61016861025b3660046107a1565b6104e0565b61015061026e366004610778565b610580565b61018661028136600461070b565b600460209081526000928352604080842090915290825290205481565b600154610213906001600160a01b031681565b61016861058d565b60006102c63384846105cb565b50600192915050565b683635c9adc5dea00000600260008282546102ea919061082f565b90915550503360009081526003602052604081208054683635c9adc5dea00000929061031790849061082f565b9091555050604051683635c9adc5dea00000815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3565b6000546001600160a01b031633146103925760405162461bcd60e51b81526004016103899061080c565b60405180910390fd5b6001600160a01b0381166103d15760405162461bcd60e51b8152600401610389906020808252600490820152635a65726f60e01b604082015260600190565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000336001600160a01b0385161480159061043357506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b156104cb576001600160a01b03841660009081526004602090815260408083203384529091528120805484929061046b908490610847565b90915550506001600160a01b038416600081815260046020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b6104d684848461062d565b5060019392505050565b6000546001600160a01b0316331461050a5760405162461bcd60e51b81526004016103899061080c565b806002600082825461051c919061082f565b9091555050336000908152600360205260408120805483929061054090849061082f565b909155505060405181815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b60006102c633848461062d565b6001546001600160a01b031633146105b75760405162461bcd60e51b81526004016103899061080c565b600080546001600160a01b03191633179055565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526003602052604081208054839290610655908490610847565b90915550506001600160a01b0382166000908152600360205260408120805483929061068290849061082f565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161062091815260200190565b80356001600160a01b03811681146106e557600080fd5b919050565b6000602082840312156106fb578081fd5b610704826106ce565b9392505050565b6000806040838503121561071d578081fd5b610726836106ce565b9150610734602084016106ce565b90509250929050565b600080600060608486031215610751578081fd5b61075a846106ce565b9250610768602085016106ce565b9150604084013590509250925092565b6000806040838503121561078a578182fd5b610793836106ce565b946020939093013593505050565b6000602082840312156107b2578081fd5b5035919050565b6000602080835283518082850152825b818110156107e5578581018301518582016040015282016107c9565b818111156107f65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152682337b93134b23232b760b91b604082015260600190565b600082198211156108425761084261085e565b500190565b6000828210156108595761085961085e565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220429b50d52d5e6bb727c41482edad853357eb2c070928a43ab98d978160623eaa64736f6c63430008040033
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.