Scroll Sepolia Testnet

Contract

0xCE26246F859512CD22faE6037fb0371960B68a0C
Source Code Source Code

Overview

ETH Balance

Scroll Sepolia LogoScroll Sepolia LogoScroll Sepolia Logo0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Self Kiss115523482025-08-14 8:21:50155 days ago1755159710IN
0xCE26246F...960B68a0C
0 ETH0.000007470.0156801
Self Kiss109404862025-07-20 20:14:05179 days ago1753042445IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404832025-07-20 20:13:35179 days ago1753042415IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404782025-07-20 20:12:55179 days ago1753042375IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404742025-07-20 20:12:31179 days ago1753042351IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404692025-07-20 20:11:55179 days ago1753042315IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404652025-07-20 20:11:25179 days ago1753042285IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404572025-07-20 20:10:35179 days ago1753042235IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404512025-07-20 20:10:05179 days ago1753042205IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404472025-07-20 20:09:35179 days ago1753042175IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109404412025-07-20 20:08:55179 days ago1753042135IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400452025-07-20 19:12:05179 days ago1753038725IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400402025-07-20 19:11:34179 days ago1753038694IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400352025-07-20 19:10:55179 days ago1753038655IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400312025-07-20 19:10:25179 days ago1753038625IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400252025-07-20 19:09:41179 days ago1753038581IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400202025-07-20 19:09:15179 days ago1753038555IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400142025-07-20 19:08:35179 days ago1753038515IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400102025-07-20 19:08:05179 days ago1753038485IN
0xCE26246F...960B68a0C
0 ETH0.000003260.0392001
Self Kiss109400062025-07-20 19:07:25179 days ago1753038445IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109400022025-07-20 19:06:56179 days ago1753038416IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109399962025-07-20 19:06:15179 days ago1753038375IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109399922025-07-20 19:05:35179 days ago1753038335IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109399892025-07-20 19:05:05179 days ago1753038305IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
Self Kiss109399852025-07-20 19:04:45179 days ago1753038285IN
0xCE26246F...960B68a0C
0 ETH0.00000130.0156801
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Amount
115523482025-08-14 8:21:50155 days ago1755159710
0xCE26246F...960B68a0C
0 ETH
109404862025-07-20 20:14:05179 days ago1753042445
0xCE26246F...960B68a0C
0 ETH
109404832025-07-20 20:13:35179 days ago1753042415
0xCE26246F...960B68a0C
0 ETH
109404782025-07-20 20:12:55179 days ago1753042375
0xCE26246F...960B68a0C
0 ETH
109404742025-07-20 20:12:31179 days ago1753042351
0xCE26246F...960B68a0C
0 ETH
109404692025-07-20 20:11:55179 days ago1753042315
0xCE26246F...960B68a0C
0 ETH
109404652025-07-20 20:11:25179 days ago1753042285
0xCE26246F...960B68a0C
0 ETH
109404572025-07-20 20:10:35179 days ago1753042235
0xCE26246F...960B68a0C
0 ETH
109404512025-07-20 20:10:05179 days ago1753042205
0xCE26246F...960B68a0C
0 ETH
109404472025-07-20 20:09:35179 days ago1753042175
0xCE26246F...960B68a0C
0 ETH
109404412025-07-20 20:08:55179 days ago1753042135
0xCE26246F...960B68a0C
0 ETH
109400452025-07-20 19:12:05179 days ago1753038725
0xCE26246F...960B68a0C
0 ETH
109400402025-07-20 19:11:34179 days ago1753038694
0xCE26246F...960B68a0C
0 ETH
109400352025-07-20 19:10:55179 days ago1753038655
0xCE26246F...960B68a0C
0 ETH
109400312025-07-20 19:10:25179 days ago1753038625
0xCE26246F...960B68a0C
0 ETH
109400252025-07-20 19:09:41179 days ago1753038581
0xCE26246F...960B68a0C
0 ETH
109400202025-07-20 19:09:15179 days ago1753038555
0xCE26246F...960B68a0C
0 ETH
109400142025-07-20 19:08:35179 days ago1753038515
0xCE26246F...960B68a0C
0 ETH
109400102025-07-20 19:08:05179 days ago1753038485
0xCE26246F...960B68a0C
0 ETH
109400062025-07-20 19:07:25179 days ago1753038445
0xCE26246F...960B68a0C
0 ETH
109400022025-07-20 19:06:56179 days ago1753038416
0xCE26246F...960B68a0C
0 ETH
109399962025-07-20 19:06:15179 days ago1753038375
0xCE26246F...960B68a0C
0 ETH
109399922025-07-20 19:05:35179 days ago1753038335
0xCE26246F...960B68a0C
0 ETH
109399892025-07-20 19:05:05179 days ago1753038305
0xCE26246F...960B68a0C
0 ETH
109399852025-07-20 19:04:45179 days ago1753038285
0xCE26246F...960B68a0C
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SelfKisser_2

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 10000 runs

Other Settings:
london EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

import {IAuth} from "chronicle-std/auth/IAuth.sol";
import {Auth} from "chronicle-std/auth/Auth.sol";

import {IToll} from "chronicle-std/toll/IToll.sol";

import {ISelfKisser} from "./ISelfKisser.sol";

contract SelfKisser is ISelfKisser, Auth {
    /// @dev Whether SelfKisser is dead.
    uint internal _dead;

    modifier live() {
        if (_dead == 1) {
            revert Dead();
        }
        _;
    }

    constructor(address initialAuthed) Auth(initialAuthed) {}

    // -- User Functionality --

    /// @inheritdoc ISelfKisser
    function selfKiss(address oracle) external {
        selfKiss(oracle, msg.sender);
    }

    /// @inheritdoc ISelfKisser
    function selfKiss(address oracle, address who) public live {
        IToll(oracle).kiss(who);
        emit SelfKissed(msg.sender, oracle, who);
    }

    // -- View Functionality --

    /// @inheritdoc ISelfKisser
    function dead() external view returns (bool) {
        return _dead == 1;
    }

    // -- Auth'ed Functionality --

    /// @inheritdoc ISelfKisser
    function kill() external auth {
        if (_dead == 1) return;

        _dead = 1;
        emit Killed(msg.sender);
    }
}

/**
 * @dev Contract overwrite to deploy contract instances with specific naming.
 *
 *      For more info, see docs/Deployment.md.
 */
contract SelfKisser_2 is SelfKisser {
    constructor(address initialAuthed) SelfKisser(initialAuthed) {}
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

interface IAuth {
    /// @notice Thrown by protected function if caller not auth'ed.
    /// @param caller The caller's address.
    error NotAuthorized(address caller);

    /// @notice Emitted when auth granted to address.
    /// @param caller The caller's address.
    /// @param who The address auth got granted to.
    event AuthGranted(address indexed caller, address indexed who);

    /// @notice Emitted when auth renounced from address.
    /// @param caller The caller's address.
    /// @param who The address auth got renounced from.
    event AuthRenounced(address indexed caller, address indexed who);

    /// @notice Grants address `who` auth.
    /// @dev Only callable by auth'ed address.
    /// @param who The address to grant auth.
    function rely(address who) external;

    /// @notice Renounces address `who`'s auth.
    /// @dev Only callable by auth'ed address.
    /// @param who The address to renounce auth.
    function deny(address who) external;

    /// @notice Returns whether address `who` is auth'ed.
    /// @param who The address to check.
    /// @return True if `who` is auth'ed, false otherwise.
    function authed(address who) external view returns (bool);

    /// @notice Returns full list of addresses granted auth.
    /// @dev May contain duplicates.
    /// @return List of addresses granted auth.
    function authed() external view returns (address[] memory);

    /// @notice Returns whether address `who` is auth'ed.
    /// @custom:deprecated Use `authed(address)(bool)` instead.
    /// @param who The address to check.
    /// @return 1 if `who` is auth'ed, 0 otherwise.
    function wards(address who) external view returns (uint);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

import {IAuth} from "./IAuth.sol";

/**
 * @title Auth Module
 *
 * @dev The `Auth` contract module provides a basic access control mechanism,
 *      where a set of addresses are granted access to protected functions.
 *      These addresses are said to be _auth'ed_.
 *
 *      Initially, the address given as constructor argument is the only address
 *      auth'ed. Through the `rely(address)` and `deny(address)` functions,
 *      auth'ed callers are able to grant/renounce auth to/from addresses.
 *
 *      This module is used through inheritance. It will make available the
 *      modifier `auth`, which can be applied to functions to restrict their
 *      use to only auth'ed callers.
 */
abstract contract Auth is IAuth {
    /// @dev Mapping storing whether address is auth'ed.
    /// @custom:invariant Image of mapping is {0, 1}.
    ///                     ∀x ∊ Address: _wards[x] ∊ {0, 1}
    /// @custom:invariant Only address given as constructor argument is authenticated after deployment.
    ///                     deploy(initialAuthed) → (∀x ∊ Address: _wards[x] == 1 → x == initialAuthed)
    /// @custom:invariant Only functions `rely` and `deny` may mutate the mapping's state.
    ///                     ∀x ∊ Address: preTx(_wards[x]) != postTx(_wards[x])
    ///                                     → (msg.sig == "rely" ∨ msg.sig == "deny")
    /// @custom:invariant Mapping's state may only be mutated by authenticated caller.
    ///                     ∀x ∊ Address: preTx(_wards[x]) != postTx(_wards[x]) → _wards[msg.sender] = 1
    mapping(address => uint) private _wards;

    /// @dev List of addresses possibly being auth'ed.
    /// @dev May contain duplicates.
    /// @dev May contain addresses not being auth'ed anymore.
    /// @custom:invariant Every address being auth'ed once is element of the list.
    ///                     ∀x ∊ Address: authed(x) -> x ∊ _wardsTouched
    address[] private _wardsTouched;

    /// @dev Ensures caller is auth'ed.
    modifier auth() {
        assembly ("memory-safe") {
            // Compute slot of _wards[msg.sender].
            mstore(0x00, caller())
            mstore(0x20, _wards.slot)
            let slot := keccak256(0x00, 0x40)

            // Revert if caller not auth'ed.
            let isAuthed := sload(slot)
            if iszero(isAuthed) {
                // Store selector of `NotAuthorized(address)`.
                mstore(0x00, 0x4a0bfec1)
                // Store msg.sender.
                mstore(0x20, caller())
                // Revert with (offset, size).
                revert(0x1c, 0x24)
            }
        }
        _;
    }

    constructor(address initialAuthed) {
        _wards[initialAuthed] = 1;
        _wardsTouched.push(initialAuthed);

        // Note to use address(0) as caller to indicate address was auth'ed
        // during deployment.
        emit AuthGranted(address(0), initialAuthed);
    }

    /// @inheritdoc IAuth
    function rely(address who) external auth {
        if (_wards[who] == 1) return;

        _wards[who] = 1;
        _wardsTouched.push(who);
        emit AuthGranted(msg.sender, who);
    }

    /// @inheritdoc IAuth
    function deny(address who) external auth {
        if (_wards[who] == 0) return;

        _wards[who] = 0;
        emit AuthRenounced(msg.sender, who);
    }

    /// @inheritdoc IAuth
    function authed(address who) public view returns (bool) {
        return _wards[who] == 1;
    }

    /// @inheritdoc IAuth
    /// @custom:invariant Only contains auth'ed addresses.
    ///                     ∀x ∊ authed(): _wards[x] == 1
    /// @custom:invariant Contains all auth'ed addresses.
    ///                     ∀x ∊ Address: _wards[x] == 1 → x ∊ authed()
    function authed() public view returns (address[] memory) {
        // Initiate array with upper limit length.
        address[] memory wardsList = new address[](_wardsTouched.length);

        // Iterate through all possible auth'ed addresses.
        uint ctr;
        for (uint i; i < wardsList.length; i++) {
            // Add address only if still auth'ed.
            if (_wards[_wardsTouched[i]] == 1) {
                wardsList[ctr++] = _wardsTouched[i];
            }
        }

        // Set length of array to number of auth'ed addresses actually included.
        assembly ("memory-safe") {
            mstore(wardsList, ctr)
        }

        return wardsList;
    }

    /// @inheritdoc IAuth
    function wards(address who) public view returns (uint) {
        return _wards[who];
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

interface IToll {
    /// @notice Thrown by protected function if caller not tolled.
    /// @param caller The caller's address.
    error NotTolled(address caller);

    /// @notice Emitted when toll granted to address.
    /// @param caller The caller's address.
    /// @param who The address toll got granted to.
    event TollGranted(address indexed caller, address indexed who);

    /// @notice Emitted when toll renounced from address.
    /// @param caller The caller's address.
    /// @param who The address toll got renounced from.
    event TollRenounced(address indexed caller, address indexed who);

    /// @notice Grants address `who` toll.
    /// @dev Only callable by auth'ed address.
    /// @param who The address to grant toll.
    function kiss(address who) external;

    /// @notice Renounces address `who`'s toll.
    /// @dev Only callable by auth'ed address.
    /// @param who The address to renounce toll.
    function diss(address who) external;

    /// @notice Returns whether address `who` is tolled.
    /// @param who The address to check.
    /// @return True if `who` is tolled, false otherwise.
    function tolled(address who) external view returns (bool);

    /// @notice Returns full list of addresses tolled.
    /// @dev May contain duplicates.
    /// @return List of addresses tolled.
    function tolled() external view returns (address[] memory);

    /// @notice Returns whether address `who` is tolled.
    /// @custom:deprecated Use `tolled(address)(bool)` instead.
    /// @param who The address to check.
    /// @return 1 if `who` is tolled, 0 otherwise.
    function bud(address who) external view returns (uint);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

interface ISelfKisser {
    /// @notice Thrown if SelfKisser dead.
    error Dead();

    /// @notice Emitted when SelfKisser killed.
    /// @param caller The caller's address.
    event Killed(address indexed caller);

    /// @notice Emitted when new address kissed on an oracle.
    /// @param caller The caller's address.
    /// @param oracle The oracle on which address `who` got kissed on.
    /// @param who The address that got kissed on oracle `oracle`.
    event SelfKissed(
        address indexed caller, address indexed oracle, address indexed who
    );

    // -- User Functionality --

    /// @notice Kisses caller on oracle `oracle`.
    ///
    /// @dev Reverts if oracle `oracle` not supported.
    /// @dev Reverts if SelfKisser dead.
    ///
    /// @param oracle The oracle to kiss the caller on.
    function selfKiss(address oracle) external;

    /// @notice Kisses address `who` on oracle `oracle`.
    ///
    /// @dev Reverts if oracle `oracle` not supported.
    /// @dev Reverts if SelfKisser dead.
    ///
    /// @param oracle The oracle to kiss address `who` on.
    /// @param who The address to kiss on oracle `oracle`.
    function selfKiss(address oracle, address who) external;

    // -- View Functionality --

    /// @notice Returns whether SelfKisser is dead.
    /// @return True if SelfKisser dead, false otherwise.
    function dead() external view returns (bool);

    // -- Auth'ed Functionality --

    /// @notice Kills the contract.
    /// @dev Only callable by auth'ed address.
    function kill() external;
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "chronicle-std/=lib/chronicle-std/src/",
    "@script/chronicle-std/=lib/chronicle-std/script/",
    "lib/chronicle-std:src/=lib/chronicle-std/src/",
    "lib/chronicle-std:ds-test/=lib/chronicle-std/lib/forge-std/lib/ds-test/src/",
    "lib/chronicle-std:forge-std/=lib/chronicle-std/lib/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "viaIR": true,
  "libraries": {}
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"initialAuthed","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Dead","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"NotAuthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"AuthGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"AuthRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"Killed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":true,"internalType":"address","name":"oracle","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"SelfKissed","type":"event"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"authed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authed","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dead","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"deny","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"kill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"rely","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oracle","type":"address"},{"internalType":"address","name":"who","type":"address"}],"name":"selfKiss","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oracle","type":"address"}],"name":"selfKiss","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"wards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60803461011757601f6109ce38819003918201601f19168301916001600160401b0383118484101761011c5780849260209460405283398101031261011757516001600160a01b03811690819003610117576000908082528160205260016040832055600154680100000000000000008110156101035760018101806001558110156100ef57600183527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191682179055604051917fe31c10b0adbedd0c6e5d024286c6eeead7761e65a67608dcf0b67604c0da7e2f8184a361089b90816101338239f35b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b83526041600452602483fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081630fce34151461057957508063224242ca146103a557806336cf7c871461038357806341c0e1b514610348578063622920e71461024257806365fae35e1461020e5780639c52a7f1146101c6578063bf353dbb146101835763c529a6791461008757600080fd5b3461014a57602060031936011261014a576100a06105bd565b60016002541461015c5773ffffffffffffffffffffffffffffffffffffffff84911692833b15610158578251907ff29c29c40000000000000000000000000000000000000000000000000000000082523390820152818160248183885af1801561014e57610136575b505051903390337f3b6e7e6ff858d016edf22112c8596ecf8f0a55591a3b84c35b993e0de85a0c848585a4f35b61013f90610773565b61014a578238610109565b8280fd5b83513d84823e3d90fd5b5080fd5b50517f82c4767b000000000000000000000000000000000000000000000000000000008152fd5b838234610158576020600319360112610158578060209273ffffffffffffffffffffffffffffffffffffffff6101b76105bd565b16815280845220549051908152f35b838234610158576020600319360112610158576101e16105bd565b3383528260205281832054156101fd576101fa90610717565b51f35b634a0bfec18352336020526024601cfd5b838234610158576020600319360112610158576102296105bd565b3383528260205281832054156101fd576101fa9061064b565b503461014a578060031936011261014a5761025b6105bd565b906024359173ffffffffffffffffffffffffffffffffffffffff908184168094036103445760016002541461031c571692833b1561031857828251917ff29c29c4000000000000000000000000000000000000000000000000000000008352820152848160248183885af1801561030e576102fb575b505191337f3b6e7e6ff858d016edf22112c8596ecf8f0a55591a3b84c35b993e0de85a0c848585a4f35b61030790949194610773565b92386102d1565b82513d87823e3d90fd5b8480fd5b8483517f82c4767b000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b838234610158578160031936011261015857338252816020528082205415610372576101fa61082a565b634a0bfec18252336020526024601cfd5b8382346101585781600319360112610158576020906001600254149051908152f35b50903461014a578260031936011261014a57600192601f8454916103c8836107b6565b928551937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09384910116840184811067ffffffffffffffff82111761054d579261041a879592899587528084526107b6565b956020918284019701368837839081865b61047d575b505082528451948186019282875251809352850195925b8281106104545785870386f35b835173ffffffffffffffffffffffffffffffffffffffff16875295810195928101928401610447565b95809896859694955181101561054157610496816105e5565b73ffffffffffffffffffffffffffffffffffffffff809254600392831b1c168752868852838b882054146104dc575b50506104d0906107ce565b9096989594939561042b565b909192506104e9836105e5565b9054911b1c166104f8846107ce565b9387518110156105155760051b870186015288906104d08b6104c5565b6024866032867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50959794939294610430565b6024836041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9250503461014a57602060031936011261014a5760019060209373ffffffffffffffffffffffffffffffffffffffff6105b06105bd565b1681528085522054148152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036105e057565b600080fd5b60015481101561061c5760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff809116906000908282528160205260016040832054146107125760016040832055600154680100000000000000008110156106e5576106a68160018693016001556105e5565b909283549160031b90811b9283911b169119161790557fe31c10b0adbedd0c6e5d024286c6eeead7761e65a67608dcf0b67604c0da7e2f3391604051a3565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff1660008181528060205260408120541561076f578060408120557f58466e5837b54e559819c9ba8a5d7c77c97c985d1aabf4bdc5f41069fa5d65a03391604051a3565b5050565b67ffffffffffffffff811161078757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116107875760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107fb5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600160025414610863576001600255337f4b0bc4f25f8d0b92d2e12b686ba96cd75e4e69325e6cf7b1f3119d14eaf2cbdf6000604051a2565b56fea264697066735822122033a2b0f1140404878cf87e46354bfc9c2cee6c2f9c45ad789546d1c98c5f9f0e64736f6c6343000810003300000000000000000000000074258a92611e029b748f79c50024dd851339db15

Deployed Bytecode

0x608060408181526004908136101561001657600080fd5b600092833560e01c9081630fce34151461057957508063224242ca146103a557806336cf7c871461038357806341c0e1b514610348578063622920e71461024257806365fae35e1461020e5780639c52a7f1146101c6578063bf353dbb146101835763c529a6791461008757600080fd5b3461014a57602060031936011261014a576100a06105bd565b60016002541461015c5773ffffffffffffffffffffffffffffffffffffffff84911692833b15610158578251907ff29c29c40000000000000000000000000000000000000000000000000000000082523390820152818160248183885af1801561014e57610136575b505051903390337f3b6e7e6ff858d016edf22112c8596ecf8f0a55591a3b84c35b993e0de85a0c848585a4f35b61013f90610773565b61014a578238610109565b8280fd5b83513d84823e3d90fd5b5080fd5b50517f82c4767b000000000000000000000000000000000000000000000000000000008152fd5b838234610158576020600319360112610158578060209273ffffffffffffffffffffffffffffffffffffffff6101b76105bd565b16815280845220549051908152f35b838234610158576020600319360112610158576101e16105bd565b3383528260205281832054156101fd576101fa90610717565b51f35b634a0bfec18352336020526024601cfd5b838234610158576020600319360112610158576102296105bd565b3383528260205281832054156101fd576101fa9061064b565b503461014a578060031936011261014a5761025b6105bd565b906024359173ffffffffffffffffffffffffffffffffffffffff908184168094036103445760016002541461031c571692833b1561031857828251917ff29c29c4000000000000000000000000000000000000000000000000000000008352820152848160248183885af1801561030e576102fb575b505191337f3b6e7e6ff858d016edf22112c8596ecf8f0a55591a3b84c35b993e0de85a0c848585a4f35b61030790949194610773565b92386102d1565b82513d87823e3d90fd5b8480fd5b8483517f82c4767b000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b838234610158578160031936011261015857338252816020528082205415610372576101fa61082a565b634a0bfec18252336020526024601cfd5b8382346101585781600319360112610158576020906001600254149051908152f35b50903461014a578260031936011261014a57600192601f8454916103c8836107b6565b928551937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09384910116840184811067ffffffffffffffff82111761054d579261041a879592899587528084526107b6565b956020918284019701368837839081865b61047d575b505082528451948186019282875251809352850195925b8281106104545785870386f35b835173ffffffffffffffffffffffffffffffffffffffff16875295810195928101928401610447565b95809896859694955181101561054157610496816105e5565b73ffffffffffffffffffffffffffffffffffffffff809254600392831b1c168752868852838b882054146104dc575b50506104d0906107ce565b9096989594939561042b565b909192506104e9836105e5565b9054911b1c166104f8846107ce565b9387518110156105155760051b870186015288906104d08b6104c5565b6024866032867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50959794939294610430565b6024836041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b9250503461014a57602060031936011261014a5760019060209373ffffffffffffffffffffffffffffffffffffffff6105b06105bd565b1681528085522054148152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036105e057565b600080fd5b60015481101561061c5760016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff809116906000908282528160205260016040832054146107125760016040832055600154680100000000000000008110156106e5576106a68160018693016001556105e5565b909283549160031b90811b9283911b169119161790557fe31c10b0adbedd0c6e5d024286c6eeead7761e65a67608dcf0b67604c0da7e2f3391604051a3565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff1660008181528060205260408120541561076f578060408120557f58466e5837b54e559819c9ba8a5d7c77c97c985d1aabf4bdc5f41069fa5d65a03391604051a3565b5050565b67ffffffffffffffff811161078757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116107875760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107fb5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600160025414610863576001600255337f4b0bc4f25f8d0b92d2e12b686ba96cd75e4e69325e6cf7b1f3119d14eaf2cbdf6000604051a2565b56fea264697066735822122033a2b0f1140404878cf87e46354bfc9c2cee6c2f9c45ad789546d1c98c5f9f0e64736f6c63430008100033

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

00000000000000000000000074258a92611e029b748f79c50024dd851339db15

-----Decoded View---------------
Arg [0] : initialAuthed (address): 0x74258A92611e029b748F79c50024DD851339dB15

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000074258a92611e029b748f79c50024dd851339db15


Block Transaction Gas Used Reward
view all blocks sequenced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xCE26246F859512CD22faE6037fb0371960B68a0C
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.