Contract 0xb378ed8647d67b5db6fd41817fd7a0949627d87a

  Note: Our ETH balance display is temporarily unavailable. Please check back later.
Txn Hash Method
Block
From
To
Value
0x9dc54a31180abeebe535c0a389c2db2617a43f9df4980140016386ea3ab0ef73Approve172683042023-11-14 12:24:36192 days 1 hr ago0x5a083c8c597193cfcd1e4e7bb29a4dadd54cf7a9 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000698520021.50000005
0x595343da45de0113a375b2ac95565bb4ddb4b72b64bfb5e842ba6f36fdc24e02Transfer167175462023-11-01 18:26:00204 days 19 hrs ago0x25ed37d355df14013d24d75508cb7344abb59814 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000773700021.50000005
0x40af5879880c654efc6f80ce03b4aee143afe5a3155b36a9eed31d41327d1cc8Faucet167175162023-11-01 18:25:00204 days 19 hrs ago0x25ed37d355df14013d24d75508cb7344abb59814 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000759090021.50000005
0x7768894bc2b8695397a51a28650676ce65806beae434dddb4fb8f4a9b872a095Transfer158749012023-10-13 6:17:50224 days 8 hrs ago0x4494c710961bda261082a69aa313fccab1f09234 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000517020011.50000005
0x967fe4aee218e7a15ab92eea6f602d435a0e649a6f7ba5ecf7cfba39de212770Transfer158738292023-10-13 5:42:06224 days 8 hrs ago0x4494c710961bda261082a69aa313fccab1f09234 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000517200011.50000005
0xe9d8a09fca34b34e3c2865ae21df39d7a72c1c486bd36e721abcc470f6886d7aTransfer157142242023-10-09 13:01:56228 days 1 hr ago0x4494c710961bda261082a69aa313fccab1f09234 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000517020011.50000005
0xbc5559797f0092d7b176fac766c27f9dd15fc1aa7c267c635a5d32c2d9715421Transfer157135332023-10-09 12:38:54228 days 1 hr ago0x4494c710961bda261082a69aa313fccab1f09234 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000517020011.50000005
0x805717f92eb7074002301209f57068b70f645c6b4020fa7111d45b388ae3e29fTransfer157128602023-10-09 12:16:28228 days 2 hrs ago0xc6dca95aa48b2811c79af700774460b22c0877c4 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000034480010.10000005
0x22366170fb02df808b09baa0ee5b1c0df1c5cfb48cabbc7cf16477ce8a6b667bTransfer157123462023-10-09 11:59:20228 days 2 hrs ago0xc6dca95aa48b2811c79af700774460b22c0877c4 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000034480010.10000005
0x09b8f59f7db222dea80fe02c48db68033c8c1a147594c8b49649de1302a9a5efApprove149403852023-09-21 15:07:18245 days 23 hrs ago0x25af0cca791baee922d9fa0744880ae6e0422021 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000698520021.50000005
0xac6b7bfc30a5fef9c521b934f88932440a2588666dcc817003972dd71e85045fApprove149056872023-09-20 19:50:42246 days 18 hrs ago0xa973f0d10f7d4e29e286bb5ff3426df39c6f7edf IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000694020021.50000005
0x51f0c3538870c98f8dc45dfed95b08411cd2f3a3ea76c86a977938da72028642Faucet149056552023-09-20 19:49:38246 days 18 hrs ago0xa973f0d10f7d4e29e286bb5ff3426df39c6f7edf IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000759090021.50000005
0x5e16fdb755cd513d07329cfa0bb95fabe532841d11b872747f5820a81bb97753Faucet149054202023-09-20 19:41:48246 days 18 hrs ago0xb6778138321e0e8ca24ded2ffa98261e5a56770f IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000502590011.50000005
0x12e8e2d8bcf3a49d2a06952eb2446068a2e6a64fe438add26a6db8a8f88a71acFaucet148756572023-09-20 3:09:42247 days 11 hrs ago0x89f76bcca45408887752e733461470d0390725b3 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000502590011.50000005
0x3b1adf481505cbcc7bad29efbba4a5c5cc5364cedc3196691111946a3e056759Approve148756412023-09-20 3:09:10247 days 11 hrs ago0x89f76bcca45408887752e733461470d0390725b3 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000698520021.50000005
0xf5670d649416060998f16011a383c9bbd4a41a096c31f30e9fd0291b1af7cc6aFaucet148755872023-09-20 3:07:22247 days 11 hrs ago0x89f76bcca45408887752e733461470d0390725b3 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000759090021.50000005
0x0061ad64680382a148da415863ebe2185ad754b6c4fd87258b8e08626de0ee9dFaucet148477442023-09-19 11:39:16248 days 2 hrs ago0xc5eb4c7d03ed987972eb9f8632976ad30c6054fa IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000759090021.50000005
0xd68b7de32ed627f0c97f94de6215b94d16faae03a692b88bc9489ad2b78fa03aApprove148005972023-09-18 9:27:42249 days 4 hrs ago0x03539340622bf715e8d72832773aac427e4478a0 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000698520021.50000005
0x81e6b5ace987fb3d7e824ad107683ccd48efc249039bcb246b2f5a3f2d28479bTransfer147952252023-09-18 6:28:38249 days 7 hrs ago0xc6aee45527ce36a3a5c188e65072d02b93bf8496 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000517200011.50000005
0xf7f37e7af4326b1f27a062ed2638d9b1ed438054f8b4df585e57623a214bf6c7Transfer147931632023-09-18 5:19:54249 days 9 hrs ago0xc6aee45527ce36a3a5c188e65072d02b93bf8496 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000773700021.50000005
0x8888d59ba63b3a3eda4bea5be5f06c876370ce98a7ab92b880ff532fc0fa8246Faucet147919832023-09-18 4:40:34249 days 9 hrs ago0xc6aee45527ce36a3a5c188e65072d02b93bf8496 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000759090021.50000005
0xa99040d82bb46e0a55c1b0c1f84e43b7b5a1dde2da3a268edf792895d10ea7bfTransfer146298872023-09-14 10:37:22253 days 3 hrs ago0x25af0cca791baee922d9fa0744880ae6e0422021 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000773700021.50000005
0xc22fe63b1c07a1218df2328955a517c52c0532ea5fc901a1ec809d7ba5b462aaApprove145402752023-09-12 8:50:18255 days 5 hrs ago0x33faabbe19057c30d1405fd8d16039255ff7eef4 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000694380021.50000005
0xc449ff4fd4fa26f5a65e3930bc8874bf4a7561c835f449fe9ab2d6973cf02f03Approve145402152023-09-12 8:48:18255 days 5 hrs ago0x33faabbe19057c30d1405fd8d16039255ff7eef4 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000364260011.50000005
0x356f31aa743e10dc0534508240f7eb7199b443f6bf386f8a9ededb8cb1f0b6adApprove145402122023-09-12 8:48:12255 days 5 hrs ago0x33faabbe19057c30d1405fd8d16039255ff7eef4 IN  0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH0.0000364260011.50000005
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x528b8949424e0345b6b01888f105d11425d05c75d68259bfe7626a10a5392160125641222023-07-28 14:58:32300 days 23 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x528b8949424e0345b6b01888f105d11425d05c75d68259bfe7626a10a5392160125641222023-07-28 14:58:32300 days 23 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x528b8949424e0345b6b01888f105d11425d05c75d68259bfe7626a10a5392160125641222023-07-28 14:58:32300 days 23 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x535fea65d9ceaec36f1885701519e81e45b6764a9e3081ffe45b0162d654728d124285432023-07-25 11:39:14304 days 2 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x535fea65d9ceaec36f1885701519e81e45b6764a9e3081ffe45b0162d654728d124285432023-07-25 11:39:14304 days 2 hrs ago 0x2dded03eb5666b16636609f479a4ea2527d9fd50 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x535fea65d9ceaec36f1885701519e81e45b6764a9e3081ffe45b0162d654728d124285432023-07-25 11:39:14304 days 2 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xb62aaef9aeca7f5456b9c49aaa720910da6860044710b6e9fe0e4ff853843810124285212023-07-25 11:38:30304 days 2 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xb62aaef9aeca7f5456b9c49aaa720910da6860044710b6e9fe0e4ff853843810124285212023-07-25 11:38:30304 days 2 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xb62aaef9aeca7f5456b9c49aaa720910da6860044710b6e9fe0e4ff853843810124285212023-07-25 11:38:30304 days 2 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x6b27ec9a7b29dae2650d1869dbafa7623c360a448a934a7c905af429f1679d61120912222023-07-17 16:15:12311 days 22 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x5caaee8083b485fde6708e08c5b9bf3951108e78cba3263d9f832a8940bb7254120901372023-07-17 15:39:02311 days 22 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x4922b4b3e42b1da0509d031d817d57c0c252654ab768f4031e22da2908f2aaf0118696942023-07-12 13:10:56317 days 1 hr ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe9324f68938ed67bb6b79c4338c514428d79d06e8f9acdf305e53f1a5118a63e115628882023-07-05 10:44:04324 days 3 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe9324f68938ed67bb6b79c4338c514428d79d06e8f9acdf305e53f1a5118a63e115628882023-07-05 10:44:04324 days 3 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe9324f68938ed67bb6b79c4338c514428d79d06e8f9acdf305e53f1a5118a63e115628882023-07-05 10:44:04324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe61ab50a8b958544e835e5efc4e803e451559bc6aa416121595baee6c9fa572f115628642023-07-05 10:43:16324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x71e9a02fcc64e874a097c582443d4052c610b1717cd1629ebf0666b4db662e17115628532023-07-05 10:42:54324 days 3 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x71e9a02fcc64e874a097c582443d4052c610b1717cd1629ebf0666b4db662e17115628532023-07-05 10:42:54324 days 3 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0x71e9a02fcc64e874a097c582443d4052c610b1717cd1629ebf0666b4db662e17115628532023-07-05 10:42:54324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe48279c1196d7ccd59b0387397b213e1553ee9fa84fa1b144d4f986bdab026ae115628392023-07-05 10:42:26324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe48279c1196d7ccd59b0387397b213e1553ee9fa84fa1b144d4f986bdab026ae115628392023-07-05 10:42:26324 days 3 hrs ago 0x2dded03eb5666b16636609f479a4ea2527d9fd50 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xe48279c1196d7ccd59b0387397b213e1553ee9fa84fa1b144d4f986bdab026ae115628392023-07-05 10:42:26324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xed6ef34a84a3513dc04dca9fc36f59e490e9e3f2a0db602cbd8a930a98995661115627982023-07-05 10:41:04324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xa5ed5488e319f1fdf69359da150c05b5c5d25a1eea943bb1a2aa74354fed7bdb115627842023-07-05 10:40:36324 days 3 hrs ago 0x8fbad128d4602d25128cedfc771e532c91ade82a 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
0xa5ed5488e319f1fdf69359da150c05b5c5d25a1eea943bb1a2aa74354fed7bdb115627842023-07-05 10:40:36324 days 3 hrs ago 0xd2678cf600262057f485d12ad8f7c8fb5941eb46 0xb378ed8647d67b5db6fd41817fd7a0949627d87a0 ETH
[ Download CSV Export 
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x32307adfFE088e383AFAa721b06436aDaBA47DBE
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
OptimismUselessToken

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at goerli-optimism.etherscan.io on 2022-08-18
*/

pragma solidity 0.8.13;
// SPDX-License-Identifier: Unlicense

// An ERC-20 token for testing purposes
// Based on the OpenZeppelin ERC-20 contract, but with a faucet function





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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from,
        address to,
        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);
}



/**
 * @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);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

/**
 * @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:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, 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}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, 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}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, 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) {
        address owner = _msgSender();
        _approve(owner, spender, _allowances[owner][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) {
        address owner = _msgSender();
        uint256 currentAllowance = _allowances[owner][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, 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:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, 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 Spend `amount` form the allowance of `owner` toward `spender`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - 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 {}
}



contract OptimismUselessToken is ERC20 {

    /**
     * @dev Calls the ERC20 constructor. 
     */
    constructor(string memory _a, string memory _b) 
        ERC20(_a, _b) {
    }

    /**
     * @dev Gives the caller 1000 tokens to play with
     */
    function faucet() external {
        _mint(msg.sender, 1000_000_000_000_000_000_000);
    }   // function faucet

}       // contract OptimismUselessToken

Contract ABI

[{"inputs":[{"internalType":"string","name":"_a","type":"string"},{"internalType":"string","name":"_b","type":"string"}],"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":[],"name":"faucet","outputs":[],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461014157806395d89b411461016a578063a457c2d714610172578063a9059cbb14610185578063dd62ed3e14610198578063de5f72fd146101d157600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f578063395093511461012e575b600080fd5b6100c16101db565b6040516100ce9190610814565b60405180910390f35b6100ea6100e5366004610885565b61026d565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a3660046108af565b610285565b604051601281526020016100ce565b6100ea61013c366004610885565b6102a9565b6100fe61014f3660046108eb565b6001600160a01b031660009081526020819052604090205490565b6100c16102e8565b6100ea610180366004610885565b6102f7565b6100ea610193366004610885565b61038e565b6100fe6101a636600461090d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101d961039c565b005b6060600380546101ea90610940565b80601f016020809104026020016040519081016040528092919081815260200182805461021690610940565b80156102635780601f1061023857610100808354040283529160200191610263565b820191906000526020600020905b81548152906001019060200180831161024657829003601f168201915b5050505050905090565b60003361027b8185856103b1565b5060019392505050565b6000336102938582856104d5565b61029e858585610567565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061027b90829086906102e390879061097a565b6103b1565b6060600480546101ea90610940565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103815760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61029e82868684036103b1565b60003361027b818585610567565b6103af33683635c9adc5dea00000610735565b565b6001600160a01b0383166104135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610378565b6001600160a01b0382166104745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610378565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461056157818110156105545760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610378565b61056184848484036103b1565b50505050565b6001600160a01b0383166105cb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610378565b6001600160a01b03821661062d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610378565b6001600160a01b038316600090815260208190526040902054818110156106a55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610378565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106dc90849061097a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161072891815260200190565b60405180910390a3610561565b6001600160a01b03821661078b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610378565b806002600082825461079d919061097a565b90915550506001600160a01b038216600090815260208190526040812080548392906107ca90849061097a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b8181101561084157858101830151858201604001528201610825565b81811115610853576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461088057600080fd5b919050565b6000806040838503121561089857600080fd5b6108a183610869565b946020939093013593505050565b6000806000606084860312156108c457600080fd5b6108cd84610869565b92506108db60208501610869565b9150604084013590509250925092565b6000602082840312156108fd57600080fd5b61090682610869565b9392505050565b6000806040838503121561092057600080fd5b61092983610869565b915061093760208401610869565b90509250929050565b600181811c9082168061095457607f821691505b60208210810361097457634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561099b57634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212205c11ab933316f1577759445d905bbd6d56fa03769592f44a3cec8864cd3ed45a64736f6c634300080d0033

Deployed ByteCode Sourcemap

16406:389:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5607:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7958:201;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;7958:201:0;1053:187:1;6727:108:0;6815:12;;6727:108;;;1391:25:1;;;1379:2;1364:18;6727:108:0;1245:177:1;8739:295:0;;;;;;:::i;:::-;;:::i;6569:93::-;;;6652:2;1902:36:1;;1890:2;1875:18;6569:93:0;1760:184:1;9443:240:0;;;;;;:::i;:::-;;:::i;6898:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6999:18:0;6972:7;6999:18;;;;;;;;;;;;6898:127;5826:104;;;:::i;10186:438::-;;;;;;:::i;:::-;;:::i;7231:193::-;;;;;;:::i;:::-;;:::i;7487:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7603:18:0;;;7576:7;7603:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7487:151;16676:93;;;:::i;:::-;;5607:100;5661:13;5694:5;5687:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5607:100;:::o;7958:201::-;8041:4;3495:10;8097:32;3495:10;8113:7;8122:6;8097:8;:32::i;:::-;-1:-1:-1;8147:4:0;;7958:201;-1:-1:-1;;;7958:201:0:o;8739:295::-;8870:4;3495:10;8928:38;8944:4;3495:10;8959:6;8928:15;:38::i;:::-;8977:27;8987:4;8993:2;8997:6;8977:9;:27::i;:::-;-1:-1:-1;9022:4:0;;8739:295;-1:-1:-1;;;;8739:295:0:o;9443:240::-;3495:10;9531:4;9612:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;9612:27:0;;;;;;;;;;9531:4;;3495:10;9587:66;;3495:10;;9612:27;;:40;;9642:10;;9612:40;:::i;:::-;9587:8;:66::i;5826:104::-;5882:13;5915:7;5908:14;;;;;:::i;10186:438::-;3495:10;10279:4;10362:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;10362:27:0;;;;;;;;;;10279:4;;3495:10;10408:35;;;;10400:85;;;;-1:-1:-1;;;10400:85:0;;3222:2:1;10400:85:0;;;3204:21:1;3261:2;3241:18;;;3234:30;3300:34;3280:18;;;3273:62;-1:-1:-1;;;3351:18:1;;;3344:35;3396:19;;10400:85:0;;;;;;;;;10521:60;10530:5;10537:7;10565:15;10546:16;:34;10521:8;:60::i;7231:193::-;7310:4;3495:10;7366:28;3495:10;7383:2;7387:6;7366:9;:28::i;16676:93::-;16714:47;16720:10;16732:28;16714:5;:47::i;:::-;16676:93::o;13822:380::-;-1:-1:-1;;;;;13958:19:0;;13950:68;;;;-1:-1:-1;;;13950:68:0;;3628:2:1;13950:68:0;;;3610:21:1;3667:2;3647:18;;;3640:30;3706:34;3686:18;;;3679:62;-1:-1:-1;;;3757:18:1;;;3750:34;3801:19;;13950:68:0;3426:400:1;13950:68:0;-1:-1:-1;;;;;14037:21:0;;14029:68;;;;-1:-1:-1;;;14029:68:0;;4033:2:1;14029:68:0;;;4015:21:1;4072:2;4052:18;;;4045:30;4111:34;4091:18;;;4084:62;-1:-1:-1;;;4162:18:1;;;4155:32;4204:19;;14029:68:0;3831:398:1;14029:68:0;-1:-1:-1;;;;;14110:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14162:32;;1391:25:1;;;14162:32:0;;1364:18:1;14162:32:0;;;;;;;13822:380;;;:::o;14489:453::-;-1:-1:-1;;;;;7603:18:0;;;14624:24;7603:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;14691:37:0;;14687:248;;14773:6;14753:16;:26;;14745:68;;;;-1:-1:-1;;;14745:68:0;;4436:2:1;14745:68:0;;;4418:21:1;4475:2;4455:18;;;4448:30;4514:31;4494:18;;;4487:59;4563:18;;14745:68:0;4234:353:1;14745:68:0;14857:51;14866:5;14873:7;14901:6;14882:16;:25;14857:8;:51::i;:::-;14613:329;14489:453;;;:::o;11103:671::-;-1:-1:-1;;;;;11234:18:0;;11226:68;;;;-1:-1:-1;;;11226:68:0;;4794:2:1;11226:68:0;;;4776:21:1;4833:2;4813:18;;;4806:30;4872:34;4852:18;;;4845:62;-1:-1:-1;;;4923:18:1;;;4916:35;4968:19;;11226:68:0;4592:401:1;11226:68:0;-1:-1:-1;;;;;11313:16:0;;11305:64;;;;-1:-1:-1;;;11305:64:0;;5200:2:1;11305:64:0;;;5182:21:1;5239:2;5219:18;;;5212:30;5278:34;5258:18;;;5251:62;-1:-1:-1;;;5329:18:1;;;5322:33;5372:19;;11305:64:0;4998:399:1;11305:64:0;-1:-1:-1;;;;;11455:15:0;;11433:19;11455:15;;;;;;;;;;;11489:21;;;;11481:72;;;;-1:-1:-1;;;11481:72:0;;5604:2:1;11481:72:0;;;5586:21:1;5643:2;5623:18;;;5616:30;5682:34;5662:18;;;5655:62;-1:-1:-1;;;5733:18:1;;;5726:36;5779:19;;11481:72:0;5402:402:1;11481:72:0;-1:-1:-1;;;;;11589:15:0;;;:9;:15;;;;;;;;;;;11607:20;;;11589:38;;11649:13;;;;;;;;:23;;11621:6;;11589:9;11649:23;;11621:6;;11649:23;:::i;:::-;;;;;;;;11705:2;-1:-1:-1;;;;;11690:26:0;11699:4;-1:-1:-1;;;;;11690:26:0;;11709:6;11690:26;;;;1391:25:1;;1379:2;1364:18;;1245:177;11690:26:0;;;;;;;;11729:37;15542:125;12061:399;-1:-1:-1;;;;;12145:21:0;;12137:65;;;;-1:-1:-1;;;12137:65:0;;6011:2:1;12137:65:0;;;5993:21:1;6050:2;6030:18;;;6023:30;6089:33;6069:18;;;6062:61;6140:18;;12137:65:0;5809:355:1;12137:65:0;12293:6;12277:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;12310:18:0;;:9;:18;;;;;;;;;;:28;;12332:6;;12310:9;:28;;12332:6;;12310:28;:::i;:::-;;;;-1:-1:-1;;12354:37:0;;1391:25:1;;;-1:-1:-1;;;;;12354:37:0;;;12371:1;;12354:37;;1379:2:1;1364:18;12354:37:0;;;;;;;12061:399;;:::o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;:::-;2090:39;1949:186;-1:-1:-1;;;1949:186:1:o;2140:260::-;2208:6;2216;2269:2;2257:9;2248:7;2244:23;2240:32;2237:52;;;2285:1;2282;2275:12;2237:52;2308:29;2327:9;2308:29;:::i;:::-;2298:39;;2356:38;2390:2;2379:9;2375:18;2356:38;:::i;:::-;2346:48;;2140:260;;;;;:::o;2405:380::-;2484:1;2480:12;;;;2527;;;2548:61;;2602:4;2594:6;2590:17;2580:27;;2548:61;2655:2;2647:6;2644:14;2624:18;2621:38;2618:161;;2701:10;2696:3;2692:20;2689:1;2682:31;2736:4;2733:1;2726:15;2764:4;2761:1;2754:15;2618:161;;2405:380;;;:::o;2790:225::-;2830:3;2861:1;2857:6;2854:1;2851:13;2848:136;;;2906:10;2901:3;2897:20;2894:1;2887:31;2941:4;2938:1;2931:15;2969:4;2966:1;2959:15;2848:136;-1:-1:-1;3000:9:1;;2790:225::o

Swarm Source

ipfs://5c11ab933316f1577759445d905bbd6d56fa03769592f44a3cec8864cd3ed45a
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading