Contract 0x61baadcf22d2565b0f471b291c475db5555e0b76

 
Txn Hash Method
Index
From
To
Value
0x9d516f05c9ae726492ce226e7ba3de7c8da3849b2d7a9d160f97b8350e6f0e7eApprove137277152022-07-03 3:53:512 hrs 39 mins ago0x1c4b77b2e5e9a5d38fb5b3bce3ff6624ae25e2ee IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000421762750.001
0xf16e63be66fe3ce5bb2e15d631772a4f3b1abe842f0e005cf7a5efb4f69feaebTransfer137171022022-07-02 22:02:348 hrs 30 mins ago0xeaf3640f5cedfb4ea0e8b2d61f6ed527c98a87b0 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.000027059710.001
0x6105872fb4b08a0295464a04ee49cb6c034f705d19c395776d65ec4f96d722f7Approve137131342022-07-02 19:52:4810 hrs 40 mins ago0xf9bd5bde14733c88ff763a9818af69c3700fa021 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000501191450.001
0x1d487ca9f002aeca40a4fde1f14ddacc9e06340e6f6751aeeb270520ae09e8e5Approve136953862022-07-02 12:41:0317 hrs 52 mins ago0x559160997eb3eff9190ed62d7b4f3cafff9408f4 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000465234180.001
0xbc5d864cec27e1cad62a55bc95a5740bdb587d9a20a2eec1d5adedf49c79c951Approve136915412022-07-02 11:07:5319 hrs 25 mins ago0x70c83233c2eb2d5a2334a59eff98a2922bb5abd6 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000618983340.001
0xc2227123ed7845c5143cc8d1d2e641af765e083b7b015efff05e94b7e47b71b0Approve136895042022-07-02 10:20:4720 hrs 12 mins ago0xe3e776c79abad4f5fca14e257ae6497e6d99f5f3 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000270888120.001
0x8bc24ae956ff6e98339d8ff241f5f252134ccdc427eaa4e6f8fc430731b17b05Approve136878912022-07-02 9:40:1220 hrs 53 mins ago0x1b9c81c9588ed126593d33e93d8c2b039a5503ab IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000456694360.001
0xae1432013ca3c21986dea1087cff4471e2e46076f0f9cc3995359ad1e0862408Transfer136710832022-07-02 3:03:421 day 3 hrs ago0x1f3e2ab8fe0c6e1f47acdcaa0b3b9db4044f7909 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000408546290.001
0xe2c0780d0ad9b351b3ee61ab699b6a613ccf5043f75e09235c8d8eeabe2a2f1dApprove136702262022-07-02 2:44:591 day 3 hrs ago0xd5e625529672803fa47e21d9a79db83e0d651e7c IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000755402710.001
0xd2482e8b1b446adc4a0b5212e7bd84bf31755887a670d61e35e307546f1c9704Approve136702222022-07-02 2:44:441 day 3 hrs ago0xd5e625529672803fa47e21d9a79db83e0d651e7c IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000755402710.001
0x9b8189024ed19634ce610c4639188a9927a1e616f73d319c92050921681815b4Approve136416212022-07-01 16:09:311 day 14 hrs ago0x1b82dca4d87ce173563f5b524770bd3c71365fa3 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0004020332940.001
0x512e5f1ec9759f6d43b3235953d7175a093a82d38c9b69cf2c1888da03cdb5eaApprove136261662022-07-01 12:22:401 day 18 hrs ago0x0642785c9bd3a38ae1ea0a44f900e09c1e54534c IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000456624460.001
0x1c7d3092ed14bf92b88fe639b1150ef413d280b64a2cc20d4e39845ad95f44d1Approve136251422022-07-01 12:18:521 day 18 hrs ago0x5d3c265b006987c792574ac2810e62d553c74c6c IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000490420320.001
0x63aff408ba032a8bc03e1842b31fe32c727a4428593c773002ddd07e1133ff25Approve136183972022-07-01 10:32:211 day 20 hrs ago0xdfaede01e3d60f1ffe05c81df3ff99a3b11b0ed0 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000582181920.001
0xc7300a4c8eb408e84eaba52a2633fe7eb79220fd0a13d2eac12aedf69c0b9db1Approve136086902022-07-01 8:23:531 day 22 hrs ago0x20628b67ce5cddac1cb95198c0ff5271f39fc048 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000942368240.001
0x6f29d1768f3cfc86d629e1319e4d4a8cec9962089b83ff9bc944e47337ccb82bApprove136041322022-07-01 7:48:371 day 22 hrs ago0x0b038eb06cb616ec3d6426d12dd6a9c191baa157 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000655248280.001
0x433fc2bd7c7330b224f03fb0d9152dbc98a8fca1706161569f380ca404de99cbApprove135981552022-07-01 6:57:271 day 23 hrs ago0xfd73d18cf5372084ebe4a6d40f19b88019317f28 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000495177890.001
0x435f9ee7f11e2228d09b81bb75ac0bb74c17b285f2f99f9fbbad691722298c36Approve135973032022-07-01 6:48:471 day 23 hrs ago0xcc4f1cb6064a69ac83a5133ffcf09217ae33c2cf IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.00005799080.001
0xe25fbe671d240c8bf82d54f492be6615c834235651868fcf25cd2ddd2da8e9ecApprove135837182022-07-01 3:00:302 days 3 hrs ago0xe3a7298fe61e5c8b606227508f236cf0a503c0c3 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0000875453470.001
0x4676c3fb6a1b70ce5c4d69a83f90faad2c7c2ec05dace8d96375db6fd113aa3cApprove135677692022-06-30 22:53:442 days 7 hrs ago0xef89d171a33faccc093bdfebd5e1ce85720786c4 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0001783778220.001
0xd5dfcf6ba6477f1e68d9186619cc87781570a9b39bdaaa19273d51eea1e1bc6dApprove135549622022-06-30 18:48:592 days 11 hrs ago0x71535aae1b6c0c51db317b54d5eee72d1ab843c1 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0002054065730.001
0xd3f22a882b15c4233e7b5afe7e3e14b2116058f6afce3ff60168376e3a5e6ccdApprove135534272022-06-30 18:13:482 days 12 hrs ago0x1ddb367720ed4b2d79d6eaab82c14b70ae1253bc IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0001773686790.001
0xda01fb77c01e4fd5d4edbd4fde7f486e9714ccf39d1866516b0326761d9e30b8Approve135417092022-06-30 14:18:182 days 16 hrs ago0x676f7ffa9164785faa92be0aa1d66933c105e8c4 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0001804192340.001
0x87aa48832c59d5ad872635478033f450c1e4936b53672753c73e04c85ddc8686Approve134590002022-06-29 13:03:113 days 17 hrs ago0x1b82dca4d87ce173563f5b524770bd3c71365fa3 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0002013675040.001
0xfc67401398675dda827fc498e25f26a8cda95dc6117096c4f4b5fc3224489326Approve134345832022-06-29 6:18:554 days 14 mins ago0x976fdc5dfa145e3cbc690e9fef4a408642732952 IN  0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether0.0001149962980.001
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x00decc4d9d996ff82038400aa2da51831ccdb01518ddf5cf141f26ca974d7cab137277672022-07-03 3:56:332 hrs 36 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xf21da1680969d17fee847dee595ac05be64e3e6bf2d39173966855e631d8e86e137277412022-07-03 3:55:282 hrs 37 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x5e8b0fc35065a5d980c11f96cb52381de390b13f 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x665d8d87ac09bdbc1222b8b9e72ddcb82f76b54a 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x5e8b0fc35065a5d980c11f96cb52381de390b13f 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x665d8d87ac09bdbc1222b8b9e72ddcb82f76b54a 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x665d8d87ac09bdbc1222b8b9e72ddcb82f76b54a 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0xc56f04ec20dad27c0f4701b14977c2dbe85142ba 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0xc56f04ec20dad27c0f4701b14977c2dbe85142ba 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0xc56f04ec20dad27c0f4701b14977c2dbe85142ba 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xbba03c3b3a30dc0dc7ad7a0040c778e7e0e6193e4dac7deb402c1cb1d976c7e6137277212022-07-03 3:54:132 hrs 39 mins ago 0x665d8d87ac09bdbc1222b8b9e72ddcb82f76b54a 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x02466d7d8d4702dcc7b8a675fe11d58eb3b4cdc9cc6e0002b885e3ef385a7f08137276982022-07-03 3:52:562 hrs 40 mins ago 0x5e8b0fc35065a5d980c11f96cb52381de390b13f 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x02466d7d8d4702dcc7b8a675fe11d58eb3b4cdc9cc6e0002b885e3ef385a7f08137276982022-07-03 3:52:562 hrs 40 mins ago Uniswap V3: Router 2 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x02466d7d8d4702dcc7b8a675fe11d58eb3b4cdc9cc6e0002b885e3ef385a7f08137276982022-07-03 3:52:562 hrs 40 mins ago 0x5e8b0fc35065a5d980c11f96cb52381de390b13f 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x37189249b294de8f8de4da2127f3a3abefc67d51c697807a5928fb57a6b4469f137276512022-07-03 3:50:542 hrs 42 mins ago 0x4aec980a0daef4905520a11b99971c7b9583f4f8 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x1d410b5c0ccffc0da6edc1dae5f9e17fafac8247e72e11271bf8e4a206cf91c1137253652022-07-03 2:32:494 hrs ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x1d9a46fae5158083a5f10eb8a88ab1f091d4bca9ca90efa51542d6287bc08080137253472022-07-03 2:31:594 hrs 1 min ago 0x4aec980a0daef4905520a11b99971c7b9583f4f8 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x89852d9012cacc6c7977d37e3ec3c33ba98f53f2f68e1505dddbe7e7a100eae8137229202022-07-03 1:17:595 hrs 15 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x947e798a1551a7b211329c2a5ebaffbde085436595957abb50f83f06657c9867137228992022-07-03 1:17:035 hrs 16 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xc0a3e0e7e4e153cb72b8408b8ded674eaff701ffce27b5386696968a4909016a137182622022-07-02 22:42:017 hrs 51 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x63b3b4f39b45657761df453da3575cf943721ea5e7bf2aec82252a8d49e0a7b7137182432022-07-02 22:41:067 hrs 52 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x4d21ea41970b44cdd5eb1b3531a3c4f7fa532950ad65c8b74932bbcb33015c22137176242022-07-02 22:15:258 hrs 17 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xa5800f9b1279fa192f8d13047e4cf732e10e490d1e97772160d384dab3cfe6d4137175902022-07-02 22:14:168 hrs 19 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0x3c8c0830890e58d2be504ada0538895d6ccf33ab38072448e94391971eb4e256137175672022-07-02 22:13:268 hrs 19 mins ago 0x4aec980a0daef4905520a11b99971c7b9583f4f8 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
0xa766d2ea9a2e2a9b623d3fad757eafb6bc525a9cc25424686087548819411bd1137172382022-07-02 22:05:558 hrs 27 mins ago 0xfe757a40f3eda520845b339c698b321663986a4d 0x61baadcf22d2565b0f471b291c475db5555e0b760 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AelinToken

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : AelinToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.6;

import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";

/**
 * @dev a standard ERC20 contract for the AELIN token
 */

contract AelinToken is ERC20 {
    constructor(address daoAddress) ERC20("Aelin Token", "AELIN") {
        _mint(daoAddress, 5000 * 10**decimals());
    }
}

File 2 of 5 : ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/Context.sol";

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict 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 EIP 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. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @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_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. 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 allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This 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 _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

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

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

File 3 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev 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 returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * 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
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 4 of 5 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

File 5 of 5 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"daoAddress","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":[{"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":[],"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":[],"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"}]

60806040523480156200001157600080fd5b5060405162000d0d38038062000d0d83398101604081905262000034916200026d565b604080518082018252600b81526a20b2b634b7102a37b5b2b760a91b60208083019182528351808501909452600584526420a2a624a760d91b9084015281519192916200008491600391620001c7565b5080516200009a906004906020840190620001c7565b505050620000d381620000b2620000da60201b60201c565b620000bf90600a62000303565b620000cd90611388620003c4565b620000df565b5062000439565b601290565b6001600160a01b0382166200013a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200014e91906200029f565b90915550506001600160a01b038216600090815260208190526040812080548392906200017d9084906200029f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620001d590620003e6565b90600052602060002090601f016020900481019282620001f9576000855562000244565b82601f106200021457805160ff191683800117855562000244565b8280016001018555821562000244579182015b828111156200024457825182559160200191906001019062000227565b506200025292915062000256565b5090565b5b8082111562000252576000815560010162000257565b6000602082840312156200028057600080fd5b81516001600160a01b03811681146200029857600080fd5b9392505050565b60008219821115620002b557620002b562000423565b500190565b600181815b80851115620002fb578160001904821115620002df57620002df62000423565b80851615620002ed57918102915b93841c9390800290620002bf565b509250929050565b60006200029860ff8416836000826200031f57506001620003be565b816200032e57506000620003be565b8160018114620003475760028114620003525762000372565b6001915050620003be565b60ff84111562000366576200036662000423565b50506001821b620003be565b5060208310610133831016604e8410600b841016171562000397575081810a620003be565b620003a38383620002ba565b8060001904821115620003ba57620003ba62000423565b0290505b92915050565b6000816000190483118215151615620003e157620003e162000423565b500290565b600181811c90821680620003fb57607f821691505b602082108114156200041d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6108c480620004496000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101c6565b6040516100c391906107d8565b60405180910390f35b6100df6100da3660046107ae565b610258565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610772565b61026e565b604051601281526020016100c3565b6100df6101313660046107ae565b61031d565b6100f361014436600461071d565b6001600160a01b031660009081526020819052604090205490565b6100b6610359565b6100df6101753660046107ae565b610368565b6100df6101883660046107ae565b610401565b6100f361019b36600461073f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101d590610853565b80601f016020809104026020016040519081016040528092919081815260200182805461020190610853565b801561024e5780601f106102235761010080835404028352916020019161024e565b820191906000526020600020905b81548152906001019060200180831161023157829003601f168201915b5050505050905090565b600061026533848461040e565b50600192915050565b600061027b848484610532565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103055760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610312853385840361040e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161026591859061035490869061082d565b61040e565b6060600480546101d590610853565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156103ea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fc565b6103f7338585840361040e565b5060019392505050565b6000610265338484610532565b6001600160a01b0383166104705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fc565b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fc565b6001600160a01b0382166105f85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fc565b6001600160a01b038316600090815260208190526040902054818110156106705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fc565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106a790849061082d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f391815260200190565b60405180910390a350505050565b80356001600160a01b038116811461071857600080fd5b919050565b60006020828403121561072f57600080fd5b61073882610701565b9392505050565b6000806040838503121561075257600080fd5b61075b83610701565b915061076960208401610701565b90509250929050565b60008060006060848603121561078757600080fd5b61079084610701565b925061079e60208501610701565b9150604084013590509250925092565b600080604083850312156107c157600080fd5b6107ca83610701565b946020939093013593505050565b600060208083528351808285015260005b81811015610805578581018301518582016040015282016107e9565b81811115610817576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561084e57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c9082168061086757607f821691505b6020821081141561088857634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220360c412bca81ff772d4ca3ca36dd6b153c7a52d01c6676449dc4d05796dd115564736f6c634300080600330000000000000000000000005b8f3fb479571eca6a06240b21926db586cdf10f

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

0000000000000000000000005b8f3fb479571eca6a06240b21926db586cdf10f

-----Decoded View---------------
Arg [0] : daoAddress (address): 0x5b8f3fb479571eca6a06240b21926db586cdf10f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005b8f3fb479571eca6a06240b21926db586cdf10f


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.