Contract 0xC74B8c027BDaE0636840520A1F21F6F80523D45E 1

Contract Overview

Balance:
0 MATIC
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfb1cfa92518db6016475b34e601b231c25f90b97a212a2279c677a35f0a8d776Approve241785022022-01-23 10:52:475 days 9 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000583999991.999999998
0x5704112e4d6947cf8b09c0926fe7bfcb03954d6fc48246b66df5b69151cb5d8eApprove241784962022-01-23 10:52:235 days 9 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000925999991.999999997
0xb95d2d8ef9dc740f7ab5bba0777cf7f666793a18ca997dd31581988b4986d9fcMint239153132022-01-15 14:59:3613 days 5 hrs ago0x7972b588cbffa2b5671898712f18de8ff4514d4f IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.000102593999 1.999999999
0x07ffadbee7a71d5662b371f3ee310e035f444fb96448f61cc9a0d9ba3145d104Approve239137262022-01-15 13:35:3613 days 6 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000583759991.999999998
0x53694faf95b73f0961cd494c8a2ded33c0230926ec97e297a9093b1bb4b3615dApprove239137172022-01-15 13:35:0013 days 6 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000925999991.999999999
0x706cb0dc47d1963ff5ecf062391108cb395ea28634772ed6ed6b627b14912a37Approve239135342022-01-15 13:26:5213 days 6 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000583999991.999999997
0x2bdb5542760560464a8d5853e2be1c71f2c4a320ad2dba0a8d24b2a1bbc3003bApprove239135272022-01-15 13:26:2413 days 6 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0000925999991.999999997
0x3eb244b39e19e7b7c4e877f83dca831da0fb3fc61bab73ba8b0d09fb04f90665Mint239127462022-01-15 12:44:1213 days 7 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  0xc74b8c027bdae0636840520a1f21f6f80523d45e0 MATIC0.0001368179991.999999998
0x626ae29110dbc8afe2ce4d8114d9bc451ccc18594fb58ba08ea0e5f7e8d5b8680x60806040239124662022-01-15 12:29:3213 days 7 hrs ago0x8e1d4ee6c2948316fe34b76613284eeea8f5aff0 IN  Create: GodModeErc200 MATIC0.0014968619981.999999998
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GodModeErc20

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 4 : GodModeErc20.sol
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;

import "Erc20.sol";

/// @title GodModeErc20
/// @author Paul Razvan Berg
/// @notice Implementation that allows anyone to mint or burn tokens belonging to any address.
/// @dev Strictly for test purposes.
contract GodModeErc20 is Erc20 {
    /// EVENTS ///

    event Burn(address indexed holder, uint256 burnAmount);

    event Mint(address indexed beneficiary, uint256 mintAmount);

    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_
    ) Erc20(name_, symbol_, decimals_) {} // solhint-disable-line no-empty-blocks

    /// NON-CONSTANT FUNCTIONS ///

    /// @notice Destroys `burnAmount` tokens from `holder`, reducing the token supply.
    /// @param holder The account whose tokens to burn.
    /// @param burnAmount The amount of fyTokens to destroy.
    function burn(address holder, uint256 burnAmount) external {
        burnInternal(holder, burnAmount);
    }

    /// @notice Prints new tokens into existence and assigns them to `beneficiary`, increasing the
    /// total supply.
    /// @param beneficiary The account for which to mint the tokens.
    /// @param mintAmount The amount of fyTokens to print into existence.
    function mint(address beneficiary, uint256 mintAmount) external {
        mintInternal(beneficiary, mintAmount);
    }
}

File 2 of 4 : Erc20.sol
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;

import "Erc20Interface.sol";

/// @title Erc20
/// @author Paul Razvan Berg
/// @notice Implementation of the {Erc20Interface} interface.
///
/// We have followed general OpenZeppelin guidelines: functions revert instead of returning
/// `false` on failure. This behavior is nonetheless conventional and does not conflict with
/// the with the expectations of Erc20 applications.
///
/// Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows
/// applications to reconstruct the allowance for all accounts just by listening to said
/// events. Other implementations of the Erc may not emit these events, as it isn't
/// required by the specification.
///
/// Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been
/// added to mitigate the well-known issues around setting allowances.
///
///@dev Forked from OpenZeppelin
///https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/Erc20/Erc20.sol
contract Erc20 is Erc20Interface {
    /// @notice All three of these values are immutable: they can only be set once during construction.
    /// @param name_ Erc20 name of this token.
    /// @param symbol_ Erc20 symbol of this token.
    /// @param decimals_ Erc20 decimal precision of this token.
    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_
    ) {
        name = name_;
        symbol = symbol_;
        decimals = decimals_;
    }

    /// CONSTANT FUNCTIONS ///

    /// @notice Returns the remaining number of tokens that `spender` will be allowed to spend
    /// on behalf of `owner` through {transferFrom}. This is zero by default.
    ///
    /// This value changes when {approve} or {transferFrom} are called.
    function allowance(address owner, address spender) external view virtual override returns (uint256) {
        return allowances[owner][spender];
    }

    /// @notice Returns the amount of tokens owned by `account`.
    function balanceOf(address account) public view virtual override returns (uint256) {
        return balances[account];
    }

    /// NON-CONSTANT FUNCTIONS ///

    /// @notice Sets `amount` as the allowance of `spender` over the caller's tokens.
    ///
    /// @dev Emits an {Approval} event.
    ///
    /// IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may
    /// use both the old and the new allowance by unfortunate transaction ordering. One possible solution
    /// to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired
    /// value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    ///
    /// Requirements:
    ///
    /// - `spender` cannot be the zero address.
    ///
    /// @return a boolean value indicating whether the operation succeeded.
    function approve(address spender, uint256 amount) external virtual override returns (bool) {
        approveInternal(msg.sender, spender, amount);
        return true;
    }

    /// @notice Atomically decreases the allowance granted to `spender` by the caller.
    ///
    /// @dev Emits an {Approval} event indicating the updated allowance.
    ///
    /// This is an alternative to {approve} that can be used as a mitigation for problems described
    /// in {Erc20Interface-approve}.
    ///
    /// Requirements:
    ///
    /// - `spender` cannot be the zero address.
    /// - `spender` must have allowance for the caller of at least
    /// `subtractedValue`.
    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        uint256 newAllowance = allowances[msg.sender][spender] - subtractedValue;
        approveInternal(msg.sender, spender, newAllowance);
        return true;
    }

    /// @notice Atomically increases the allowance granted to `spender` by the caller.
    ///
    /// @dev Emits an {Approval} event indicating the updated allowance.
    ///
    /// This is an alternative to {approve} that can be used as a mitigation for the problems
    /// described above.
    ///
    /// Requirements:
    ///
    /// - `spender` cannot be the zero address.
    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool) {
        uint256 newAllowance = allowances[msg.sender][spender] + addedValue;
        approveInternal(msg.sender, spender, newAllowance);
        return true;
    }

    /// @notice Moves `amount` tokens from the caller's account to `recipient`.
    ///
    /// @dev Emits a {Transfer} event.
    ///
    /// Requirements:
    ///
    /// - `recipient` cannot be the zero address.
    /// - The caller must have a balance of at least `amount`.
    ///
    /// @return a boolean value indicating whether the operation succeeded.
    function transfer(address recipient, uint256 amount) external virtual override returns (bool) {
        transferInternal(msg.sender, recipient, amount);
        return true;
    }

    /// @notice Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount`
    /// `is then deducted from the caller's allowance.
    ///
    /// @dev Emits a {Transfer} event and an {Approval} event indicating the updated allowance. This is
    /// not required by the Erc. See the note at the beginning of {Erc20}.
    ///
    /// Requirements:
    ///
    /// - `sender` and `recipient` cannot be the zero address.
    /// - `sender` must have a balance of at least `amount`.
    /// - The caller must have approed `sender` to spent at least `amount` tokens.
    ///
    /// @return a boolean value indicating whether the operation succeeded.
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external virtual override returns (bool) {
        transferInternal(sender, recipient, amount);

        uint256 currentAllowance = allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERR_ERC20_TRANSFER_FROM_INSUFFICIENT_ALLOWANCE");
        approveInternal(sender, msg.sender, currentAllowance);
        return true;
    }

    /// INTERNAL FUNCTIONS ///

    /// @notice Sets `amount` as the allowance of `spender` over the `owner`s tokens.
    ///
    /// @dev Emits an {Approval} event.
    ///
    /// This is internal function is equivalent to `approve`, and can be used to e.g. set automatic
    /// allowances for certain subsystems, etc.
    ///
    /// Requirements:
    ///
    /// - `owner` cannot be the zero address.
    /// - `spender` cannot be the zero address.
    function approveInternal(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERR_ERC20_APPROVE_FROM_ZERO_ADDRESS");
        require(spender != address(0), "ERR_ERC20_APPROVE_TO_ZERO_ADDRESS");

        allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /// @notice Destroys `burnAmount` tokens from `holder`, reducing the token supply.
    ///
    /// @dev Emits a {Transfer} event.
    ///
    /// Requirements:
    ///
    /// - `holder` must have at least `amount` tokens.
    function burnInternal(address holder, uint256 burnAmount) internal {
        require(holder != address(0), "ERR_ERC20_BURN_ZERO_ADDRESS");

        uint256 accountBalance = balances[holder];
        require(accountBalance >= burnAmount, "ERR_ERC20_BURN_BALANCE_UNDERFLOW");

        // Burn the tokens.
        balances[holder] = accountBalance - burnAmount;

        // Reduce the total supply.
        totalSupply -= burnAmount;

        emit Transfer(holder, address(0), burnAmount);
    }

    /// @notice Prints new tokens into existence and assigns them to `beneficiary`, increasing the
    /// total supply.
    ///
    /// @dev Emits a {Transfer} event.
    ///
    /// Requirements:
    ///
    /// - The beneficiary's balance and the total supply cannot overflow.
    function mintInternal(address beneficiary, uint256 mintAmount) internal {
        require(beneficiary != address(0), "ERR_ERC20_MINT_ZERO_ADDRESS");

        /// Mint the new tokens.
        balances[beneficiary] += mintAmount;

        /// Increase the total supply.
        totalSupply += mintAmount;

        emit Transfer(address(0), beneficiary, mintAmount);
    }

    /// @notice Moves `amount` tokens from `sender` to `recipient`.
    ///
    /// @dev This is internal function is equivalent to {transfer}, and can be used to e.g. implement
    /// automatic token fees, slashing mechanisms, etc.
    ///
    /// Emits a {Transfer} event.
    ///
    /// Requirements:
    ///
    /// - `sender` cannot be the zero address.
    /// - `recipient` cannot be the zero address.
    /// - `sender` must have a balance of at least `amount`.
    function transferInternal(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERR_ERC20_TRANSFER_FROM_ZERO_ADDRESS");
        require(recipient != address(0), "ERR_ERC20_TRANSFER_TO_ZERO_ADDRESS");

        uint256 senderBalance = balances[sender];
        require(senderBalance >= amount, "ERR_ERC20_TRANSFER_INSUFFICIENT_BALANCE");
        balances[sender] = senderBalance - amount;
        balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }
}

File 3 of 4 : Erc20Interface.sol
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;

import "Erc20Storage.sol";

/// @title Erc20Interface
/// @author Paul Razvan Berg
/// @notice Contract interface adhering to the Erc20 standard.
/// @dev Forked from OpenZeppelin
/// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.0/contracts/token/ERC20/IERC20.sol
abstract contract Erc20Interface is Erc20Storage {
    /// CONSTANT FUNCTIONS ///

    function allowance(address owner, address spender) external view virtual returns (uint256);

    function balanceOf(address account) external view virtual returns (uint256);

    /// NON-CONSTANT FUNCTIONS ///

    function approve(address spender, uint256 amount) external virtual returns (bool);

    function transfer(address recipient, uint256 amount) external virtual returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external virtual returns (bool);

    /// EVENTS ///

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    event Transfer(address indexed from, address indexed to, uint256 amount);
}

File 4 of 4 : Erc20Storage.sol
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;

/// @title Erc20Storage
/// @author Paul Razvan Berg
/// @notice The storage interface of an Erc20 contract.
abstract contract Erc20Storage {
    /// @notice Returns the number of decimals used to get its user representation.
    uint8 public decimals;

    /// @notice Returns the name of the token.
    string public name;

    /// @notice Returns the symbol of the token, usually a shorter version of the name.
    string public symbol;

    /// @notice Returns the amount of tokens in existence.
    uint256 public totalSupply;

    mapping(address => mapping(address => uint256)) internal allowances;

    mapping(address => uint256) internal balances;
}

Settings
{
  "evmVersion": "istanbul",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "libraries": {
    "GodModeErc20.sol": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":false,"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"Mint","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"amount","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":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"burn","outputs":[],"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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"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"}]

60806040523480156200001157600080fd5b5060405162000ded38038062000ded8339810160408190526200003491620001f9565b82828282600190805190602001906200004f92919062000086565b5081516200006590600290602085019062000086565b506000805460ff191660ff9290921691909117905550620002bb9350505050565b82805462000094906200027e565b90600052602060002090601f016020900481019282620000b8576000855562000103565b82601f10620000d357805160ff191683800117855562000103565b8280016001018555821562000103579182015b8281111562000103578251825591602001919060010190620000e6565b506200011192915062000115565b5090565b5b8082111562000111576000815560010162000116565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015457600080fd5b81516001600160401b03808211156200017157620001716200012c565b604051601f8301601f19908116603f011681019082821181831017156200019c576200019c6200012c565b81604052838152602092508683858801011115620001b957600080fd5b600091505b83821015620001dd5785820183015181830184015290820190620001be565b83821115620001ef5760008385830101525b9695505050505050565b6000806000606084860312156200020f57600080fd5b83516001600160401b03808211156200022757600080fd5b620002358783880162000142565b945060208601519150808211156200024c57600080fd5b506200025b8682870162000142565b925050604084015160ff811681146200027357600080fd5b809150509250925092565b600181811c908216806200029357607f821691505b60208210811415620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b610b2280620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806340c10f191161008c5780639dc29fac116100665780639dc29fac146101b7578063a457c2d7146101ca578063a9059cbb146101dd578063dd62ed3e146101f057600080fd5b806340c10f191461017157806370a082311461018657806395d89b41146101af57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd1461012c578063313ce5671461013f578063395093511461015e575b600080fd5b6100dc610229565b6040516100e99190610940565b60405180910390f35b6101056101003660046109b1565b6102b7565b60405190151581526020016100e9565b61011e60035481565b6040519081526020016100e9565b61010561013a3660046109db565b6102cd565b60005461014c9060ff1681565b60405160ff90911681526020016100e9565b61010561016c3660046109b1565b610380565b61018461017f3660046109b1565b6103c8565b005b61011e610194366004610a17565b6001600160a01b031660009081526005602052604090205490565b6100dc6103d6565b6101846101c53660046109b1565b6103e3565b6101056101d83660046109b1565b6103ed565b6101056101eb3660046109b1565b61041e565b61011e6101fe366004610a39565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001805461023690610a6c565b80601f016020809104026020016040519081016040528092919081815260200182805461026290610a6c565b80156102af5780601f10610284576101008083540402835291602001916102af565b820191906000526020600020905b81548152906001019060200180831161029257829003601f168201915b505050505081565b60006102c433848461042b565b50600192915050565b60006102da84848461054f565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561036a5760405162461bcd60e51b815260206004820152602e60248201527f4552525f45524332305f5452414e534645525f46524f4d5f494e53554646494360448201526d49454e545f414c4c4f57414e434560901b60648201526084015b60405180910390fd5b61037585338361042b565b506001949350505050565b3360009081526004602090815260408083206001600160a01b038616845290915281205481906103b1908490610abd565b90506103be33858361042b565b5060019392505050565b6103d28282610725565b5050565b6002805461023690610a6c565b6103d28282610806565b3360009081526004602090815260408083206001600160a01b038616845290915281205481906103b1908490610ad5565b60006102c433848461054f565b6001600160a01b03831661048d5760405162461bcd60e51b815260206004820152602360248201527f4552525f45524332305f415050524f56455f46524f4d5f5a45524f5f4144445260448201526245535360e81b6064820152608401610361565b6001600160a01b0382166104ed5760405162461bcd60e51b815260206004820152602160248201527f4552525f45524332305f415050524f56455f544f5f5a45524f5f4144445245536044820152605360f81b6064820152608401610361565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166105b15760405162461bcd60e51b8152602060048201526024808201527f4552525f45524332305f5452414e534645525f46524f4d5f5a45524f5f4144446044820152635245535360e01b6064820152608401610361565b6001600160a01b0382166106125760405162461bcd60e51b815260206004820152602260248201527f4552525f45524332305f5452414e534645525f544f5f5a45524f5f4144445245604482015261535360f01b6064820152608401610361565b6001600160a01b0383166000908152600560205260409020548181101561068b5760405162461bcd60e51b815260206004820152602760248201527f4552525f45524332305f5452414e534645525f494e53554646494349454e545f60448201526642414c414e434560c81b6064820152608401610361565b6106958282610ad5565b6001600160a01b0380861660009081526005602052604080822093909355908516815290812080548492906106cb908490610abd565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161071791815260200190565b60405180910390a350505050565b6001600160a01b03821661077b5760405162461bcd60e51b815260206004820152601b60248201527f4552525f45524332305f4d494e545f5a45524f5f4144445245535300000000006044820152606401610361565b6001600160a01b038216600090815260056020526040812080548392906107a3908490610abd565b9250508190555080600360008282546107bc9190610abd565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03821661085c5760405162461bcd60e51b815260206004820152601b60248201527f4552525f45524332305f4255524e5f5a45524f5f4144445245535300000000006044820152606401610361565b6001600160a01b038216600090815260056020526040902054818110156108c55760405162461bcd60e51b815260206004820181905260248201527f4552525f45524332305f4255524e5f42414c414e43455f554e444552464c4f576044820152606401610361565b6108cf8282610ad5565b6001600160a01b038416600090815260056020526040812091909155600380548492906108fd908490610ad5565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610542565b600060208083528351808285015260005b8181101561096d57858101830151858201604001528201610951565b8181111561097f576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109ac57600080fd5b919050565b600080604083850312156109c457600080fd5b6109cd83610995565b946020939093013593505050565b6000806000606084860312156109f057600080fd5b6109f984610995565b9250610a0760208501610995565b9150604084013590509250925092565b600060208284031215610a2957600080fd5b610a3282610995565b9392505050565b60008060408385031215610a4c57600080fd5b610a5583610995565b9150610a6360208401610995565b90509250929050565b600181811c90821680610a8057607f821691505b60208210811415610aa157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ad057610ad0610aa7565b500190565b600082821015610ae757610ae7610aa7565b50039056fea2646970667358221220374a940bd561339095f8e7151960eb7a2a5dd2bdc1525f652966a3d7ade3bff664736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Dai Stablecoin
Arg [1] : symbol_ (string): DAI
Arg [2] : decimals_ (uint8): 18

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000e
Arg [4] : 44616920537461626c65636f696e000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4441490000000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading