ETH Price: $1,974.61 (-3.47%)

Contract

0xfFDf597aE2dc335fe905F8E707933aaeF4dFf286
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Aggregate247287872026-03-24 17:07:473 days ago1774372067IN
0xfFDf597a...eF4dFf286
0 ETH0.00002430.29660687
Aggregate247221202026-03-23 18:50:593 days ago1774291859IN
0xfFDf597a...eF4dFf286
0 ETH0.000015880.19382891
Aggregate246876382026-03-18 23:25:598 days ago1773876359IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000006030.15380077
Aggregate246842232026-03-18 11:58:599 days ago1773835139IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.00000630.16065205
Aggregate246719872026-03-16 18:55:4710 days ago1773687347IN
0xfFDf597a...eF4dFf286
0 ETH0.000037010.45182172
Aggregate246719272026-03-16 18:43:4710 days ago1773686627IN
0xfFDf597a...eF4dFf286
0 ETH0.000043740.53385606
Aggregate246707632026-03-16 14:49:4711 days ago1773672587IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000041921.0690701
Aggregate246707272026-03-16 14:42:3511 days ago1773672155IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000040451.03166135
Aggregate246643762026-03-15 17:26:2312 days ago1773595583IN
0xfFDf597a...eF4dFf286
0 ETH0.000004070.04967906
Aggregate246436712026-03-12 20:07:3514 days ago1773346055IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000003970.10133486
Aggregate246207012026-03-09 15:05:3518 days ago1773068735IN
0xfFDf597a...eF4dFf286
0 ETH0.000018880.23045147
Aggregate246096022026-03-08 1:57:3519 days ago1772935055IN
0xfFDf597a...eF4dFf286
0 ETH0.000004260.05202062
Aggregate246088152026-03-07 23:19:4719 days ago1772925587IN
0xfFDf597a...eF4dFf286
0 ETH0.000003990.04876837
Aggregate246088042026-03-07 23:17:3519 days ago1772925455IN
0xfFDf597a...eF4dFf286
0 ETH0.00000380.04638686
Aggregate246004422026-03-06 19:15:3520 days ago1772824535IN
0xfFDf597a...eF4dFf286
0 ETH0.000009790.11951001
Aggregate245955212026-03-06 2:44:1121 days ago1772765051IN
0xfFDf597a...eF4dFf286
0 ETH0.000003510.05413932
Aggregate245923322026-03-05 16:01:3522 days ago1772726495IN
0xfFDf597a...eF4dFf286
0 ETH0.000022050.26913183
Aggregate245920922026-03-05 15:13:1122 days ago1772723591IN
0xfFDf597a...eF4dFf286
0 ETH0.000034460.42063022
Aggregate245920452026-03-05 15:03:4722 days ago1772723027IN
0xfFDf597a...eF4dFf286
0 ETH0.000014880.18161124
Aggregate245781132026-03-03 16:26:3524 days ago1772555195IN
0xfFDf597a...eF4dFf286
0 ETH0.000093231.13768021
Aggregate245780682026-03-03 16:17:3524 days ago1772554655IN
0xfFDf597a...eF4dFf286
0 ETH0.000069650.85000266
Aggregate245740242026-03-03 2:44:2324 days ago1772505863IN
0xfFDf597a...eF4dFf286
0.4880136 ETH0.000001210.03089058
Aggregate245220502026-02-23 20:43:2331 days ago1771879403IN
0xfFDf597a...eF4dFf286
0.00270128 ETH0.000002920.07457107
Aggregate245214502026-02-23 18:42:2331 days ago1771872143IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000008370.13036556
Aggregate245190662026-02-23 10:43:2332 days ago1771843403IN
0xfFDf597a...eF4dFf286
0.0001 ETH0.000003010.07691343
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer246876382026-03-18 23:25:598 days ago1773876359
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer246842232026-03-18 11:58:599 days ago1773835139
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer246707632026-03-16 14:49:4711 days ago1773672587
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer246707272026-03-16 14:42:3511 days ago1773672155
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer246436712026-03-12 20:07:3514 days ago1773346055
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer245740242026-03-03 2:44:2324 days ago1772505863
0xfFDf597a...eF4dFf286
0.4880136 ETH
Transfer245220502026-02-23 20:43:2331 days ago1771879403
0xfFDf597a...eF4dFf286
0.00270128 ETH
Transfer245214502026-02-23 18:42:2331 days ago1771872143
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer245190662026-02-23 10:43:2332 days ago1771843403
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer245085972026-02-21 23:43:1133 days ago1771717391
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer245085572026-02-21 23:34:5933 days ago1771716899
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer244291332026-02-10 21:44:1144 days ago1770759851
0xfFDf597a...eF4dFf286
0.00307527 ETH
Transfer244211452026-02-09 18:57:1145 days ago1770663431
0xfFDf597a...eF4dFf286
0.00262714 ETH
Transfer243960692026-02-06 6:43:4749 days ago1770360227
0xfFDf597a...eF4dFf286
0.00217402 ETH
Transfer241975662026-01-09 13:56:5977 days ago1767967019
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer241973622026-01-09 13:15:5977 days ago1767964559
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer241970292026-01-09 12:08:5977 days ago1767960539
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer241913732026-01-08 17:13:4778 days ago1767892427
0xfFDf597a...eF4dFf286
0.0001 ETH
Transfer240975642025-12-26 15:01:2391 days ago1766761283
0xfFDf597a...eF4dFf286
0.0001 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AggregatedTransfers

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

interface IERC20 {
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

library SafeTransfer {
    function safeTransferFrom(IERC20 token, address from, address to, uint256 amount) internal {
        bytes memory data = abi.encodeWithSelector(token.transferFrom.selector, from, to, amount);
        (bool success, bytes memory ret) = address(token).call(data);
        require(success && (ret.length == 0 || abi.decode(ret, (bool))), "safeTransferFrom failed");
    }

    function safeNativeTransfer(address to, uint256 amount) internal {
        (bool success, ) = to.call{value: amount}("");
        require(success, "safeNativeTransfer failed");
    }
}

contract AggregatedTransfers is ReentrancyGuard, Ownable {
    using SafeTransfer for IERC20;
    using SafeTransfer for address;

    struct ERC20Transfer {
        address token;
        address from;
        address to;
        uint256 amount;
    }

    struct NativeTransfer {
        address to;
        uint256 amount;
    }

    mapping(address => bool) public allowedSenders;

    event ERC20TransferExecuted(address indexed token, address indexed from, address indexed to, uint256 amount);
    event NativeTransferExecuted(address indexed to, uint256 amount);

    modifier onlyAllowedSender() {
        require(allowedSenders[msg.sender], "not allowed");
        _;
    }

    function setAllowedSender(address sender, bool allowed) external onlyOwner {
        allowedSenders[sender] = allowed;
    }

    function aggregate(
        ERC20Transfer[] calldata erc20Transfers,
        NativeTransfer[] calldata nativeTransfers
    ) external payable nonReentrant onlyAllowedSender {
        for (uint256 i = 0; i < erc20Transfers.length; i++) {
            ERC20Transfer calldata t = erc20Transfers[i];
            require(t.amount > 0, "zero amount");
            IERC20(t.token).safeTransferFrom(t.from, t.to, t.amount);
            emit ERC20TransferExecuted(t.token, t.from, t.to, t.amount);
        }

        uint256 totalNative = 0;
        for (uint256 i = 0; i < nativeTransfers.length; i++) {
            totalNative += nativeTransfers[i].amount;
        }
        require(totalNative == msg.value, "msg.value mismatch");

        for (uint256 i = 0; i < nativeTransfers.length; i++) {
            NativeTransfer calldata n = nativeTransfers[i];
            require(n.amount > 0, "zero amount");
            n.to.safeNativeTransfer(n.amount);
            emit NativeTransferExecuted(n.to, n.amount);
        }
    }

    receive() external payable {}
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
     * `nonReentrant` function in the call stack.
     */
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

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
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20TransferExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NativeTransferExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct AggregatedTransfers.ERC20Transfer[]","name":"erc20Transfers","type":"tuple[]"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct AggregatedTransfers.NativeTransfer[]","name":"nativeTransfers","type":"tuple[]"}],"name":"aggregate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedSenders","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setAllowedSender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600160005561001f33610024565b610076565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a2b806100856000396000f3fe6080604052600436106100595760003560e01c80634b52ffb014610065578063715018a6146100875780638da5cb5b1461009c578063da119551146100c9578063f2fde38b146100dc578063fadbcf48146100fc57600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5061008561008036600461082a565b61013c565b005b34801561009357600080fd5b5061008561016f565b3480156100a857600080fd5b506001546040516001600160a01b0390911681526020015b60405180910390f35b6100856100d7366004610861565b610183565b3480156100e857600080fd5b506100856100f7366004610929565b6104b3565b34801561010857600080fd5b5061012c610117366004610929565b60026020526000908152604090205460ff1681565b60405190151581526020016100c0565b61014461052c565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b61017761052c565b6101816000610586565b565b61018b6105d8565b3360009081526002602052604090205460ff166101dd5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b60448201526064015b60405180910390fd5b60005b8381101561032357368585838181106101fb576101fb61094b565b905060800201905060008160600135116102455760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61028b6102586040830160208401610929565b6102686060840160408501610929565b606084013561027a6020860186610929565b6001600160a01b0316929190610631565b61029b6060820160408301610929565b6001600160a01b03166102b46040830160208401610929565b6001600160a01b03166102ca6020840184610929565b6001600160a01b03167f31e3bcba8edfd5b617d532787df86bedeb3245aad772b6af38cb9b26984fc742846060013560405161030891815260200190565b60405180910390a4508061031b81610977565b9150506101e0565b506000805b8281101561036b578383828181106103425761034261094b565b90506040020160200135826103579190610990565b91508061036381610977565b915050610328565b503481146103b05760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101d4565b60005b828110156104a157368484838181106103ce576103ce61094b565b905060400201905060008160200135116104185760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61043b6020820180359061042c9084610929565b6001600160a01b031690610758565b6104486020820182610929565b6001600160a01b03167feb1579c5d1072b917a01001129e6649ae3548d97f924b23963d58c6ed032b232826020013560405161048691815260200190565b60405180910390a2508061049981610977565b9150506103b3565b50506104ad6001600055565b50505050565b6104bb61052c565b6001600160a01b0381166105205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d4565b61052981610586565b50565b6001546001600160a01b031633146101815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d4565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026000540361062a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101d4565b6002600055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151909160009182918816906106979085906109a9565b6000604051808303816000865af19150503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b509150915081801561070357508051158061070357508080602001905181019061070391906109d8565b61074f5760405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c656400000000000000000060448201526064016101d4565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107fb5760405162461bcd60e51b815260206004820152601960248201527f736166654e61746976655472616e73666572206661696c65640000000000000060448201526064016101d4565b505050565b80356001600160a01b038116811461081757600080fd5b919050565b801515811461052957600080fd5b6000806040838503121561083d57600080fd5b61084683610800565b915060208301356108568161081c565b809150509250929050565b6000806000806040858703121561087757600080fd5b843567ffffffffffffffff8082111561088f57600080fd5b818701915087601f8301126108a357600080fd5b8135818111156108b257600080fd5b8860208260071b85010111156108c757600080fd5b6020928301965094509086013590808211156108e257600080fd5b818701915087601f8301126108f657600080fd5b81358181111561090557600080fd5b8860208260061b850101111561091a57600080fd5b95989497505060200194505050565b60006020828403121561093b57600080fd5b61094482610800565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161098957610989610961565b5060010190565b808201808211156109a3576109a3610961565b92915050565b6000825160005b818110156109ca57602081860181015185830152016109b0565b506000920191825250919050565b6000602082840312156109ea57600080fd5b81516109448161081c56fea26469706673582212207bf8f32330e3b29884854f5ab5f076bdc0d777b9f52f78ccb1c2dba9b330530364736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100595760003560e01c80634b52ffb014610065578063715018a6146100875780638da5cb5b1461009c578063da119551146100c9578063f2fde38b146100dc578063fadbcf48146100fc57600080fd5b3661006057005b600080fd5b34801561007157600080fd5b5061008561008036600461082a565b61013c565b005b34801561009357600080fd5b5061008561016f565b3480156100a857600080fd5b506001546040516001600160a01b0390911681526020015b60405180910390f35b6100856100d7366004610861565b610183565b3480156100e857600080fd5b506100856100f7366004610929565b6104b3565b34801561010857600080fd5b5061012c610117366004610929565b60026020526000908152604090205460ff1681565b60405190151581526020016100c0565b61014461052c565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b61017761052c565b6101816000610586565b565b61018b6105d8565b3360009081526002602052604090205460ff166101dd5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b60448201526064015b60405180910390fd5b60005b8381101561032357368585838181106101fb576101fb61094b565b905060800201905060008160600135116102455760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61028b6102586040830160208401610929565b6102686060840160408501610929565b606084013561027a6020860186610929565b6001600160a01b0316929190610631565b61029b6060820160408301610929565b6001600160a01b03166102b46040830160208401610929565b6001600160a01b03166102ca6020840184610929565b6001600160a01b03167f31e3bcba8edfd5b617d532787df86bedeb3245aad772b6af38cb9b26984fc742846060013560405161030891815260200190565b60405180910390a4508061031b81610977565b9150506101e0565b506000805b8281101561036b578383828181106103425761034261094b565b90506040020160200135826103579190610990565b91508061036381610977565b915050610328565b503481146103b05760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b60448201526064016101d4565b60005b828110156104a157368484838181106103ce576103ce61094b565b905060400201905060008160200135116104185760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016101d4565b61043b6020820180359061042c9084610929565b6001600160a01b031690610758565b6104486020820182610929565b6001600160a01b03167feb1579c5d1072b917a01001129e6649ae3548d97f924b23963d58c6ed032b232826020013560405161048691815260200190565b60405180910390a2508061049981610977565b9150506103b3565b50506104ad6001600055565b50505050565b6104bb61052c565b6001600160a01b0381166105205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d4565b61052981610586565b50565b6001546001600160a01b031633146101815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d4565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60026000540361062a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101d4565b6002600055565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b1790529151909160009182918816906106979085906109a9565b6000604051808303816000865af19150503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b509150915081801561070357508051158061070357508080602001905181019061070391906109d8565b61074f5760405162461bcd60e51b815260206004820152601760248201527f736166655472616e7366657246726f6d206661696c656400000000000000000060448201526064016101d4565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b50509050806107fb5760405162461bcd60e51b815260206004820152601960248201527f736166654e61746976655472616e73666572206661696c65640000000000000060448201526064016101d4565b505050565b80356001600160a01b038116811461081757600080fd5b919050565b801515811461052957600080fd5b6000806040838503121561083d57600080fd5b61084683610800565b915060208301356108568161081c565b809150509250929050565b6000806000806040858703121561087757600080fd5b843567ffffffffffffffff8082111561088f57600080fd5b818701915087601f8301126108a357600080fd5b8135818111156108b257600080fd5b8860208260071b85010111156108c757600080fd5b6020928301965094509086013590808211156108e257600080fd5b818701915087601f8301126108f657600080fd5b81358181111561090557600080fd5b8860208260061b850101111561091a57600080fd5b95989497505060200194505050565b60006020828403121561093b57600080fd5b61094482610800565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161098957610989610961565b5060010190565b808201808211156109a3576109a3610961565b92915050565b6000825160005b818110156109ca57602081860181015185830152016109b0565b506000920191825250919050565b6000602082840312156109ea57600080fd5b81516109448161081c56fea26469706673582212207bf8f32330e3b29884854f5ab5f076bdc0d777b9f52f78ccb1c2dba9b330530364736f6c63430008140033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.