Contract 0x7fa86681a7c19416950bae6c04a5116f3b07116d 3

Premia 
 

Contract Overview

Premia: Fee Discount L2
Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x9ff64b7811b6ec9ef8e5b0d483dcdd424c36c3318bd2d2e7f7b770390c546e14Stake With Permi...129665392022-05-26 4:32:36186 days 16 hrs ago0xb351e199b63088d714dfc2e37a68c8620e33567e IN  Premia: Fee Discount L20 ETH0.000274233282 ETH
0x7d7bf161caa6be36df31fa32942fc54d5ac955219b92f3553418bc70cd64a65cUnstake129664142022-05-26 4:27:46186 days 16 hrs ago0xdc212554bf38c0e8e8b2dff80ddba739dfdff5da IN  Premia: Fee Discount L20 ETH0.000177605643 ETH
0x8219ba7036d48dbd21c46c0d51b046fe76064a485018d75a9246dd52e17271a6Stake With Permi...39001782021-12-16 14:23:45347 days 6 hrs ago0xdc212554bf38c0e8e8b2dff80ddba739dfdff5da IN  Premia: Fee Discount L20 ETH0.001002176827 ETH
0xdd2cb955ebf365d3e832466e76a19a45d5430ef6f5ac90d6c0155dda86109cf5Stake36321022021-12-07 2:26:41356 days 18 hrs ago0x88b38e2d7fece2bc584ea1e75bf06448825c5182 IN  Premia: Fee Discount L20 ETH0.001109299189 ETH
0x4e6cb7df0ee9f355ede5c7dcb746adaa0e4c0af3b7ae109429394c3cbed61e60Transfer Ownersh...34666582021-11-30 18:26:02363 days 2 hrs ago0xc7f8d87734ab2cbf70030ac8aa82abfe3e8126cb IN  Premia: Fee Discount L20 ETH0.000981028438 ETH
0x72f612d4e0cd96d3e5640b2a74209647052a86ce7ab96d0f287791cea1aab656Stake With Permi...33129922021-11-25 3:08:22368 days 18 hrs ago0x5ca1ea5549e4e7cb64ae35225e11865d2572b3f9 IN  Premia: Fee Discount L20 ETH0.001926846324 ETH
0x52a7c42370fa2c1de5726d3c854c5d86714c15e2a1ac5c5920d2704d0f543059Set Implementati...33051182021-11-24 18:54:48369 days 2 hrs ago0xc7f8d87734ab2cbf70030ac8aa82abfe3e8126cb IN  Premia: Fee Discount L20 ETH0.000772595117 ETH
0x71f143452ba9b9b87a181398c0b75f02c2e1447cc6227d1f2b3901f3f8d89b380x6080604033033402021-11-24 17:15:05369 days 3 hrs ago0xc7f8d87734ab2cbf70030ac8aa82abfe3e8126cb IN  Contract Creation0 ETH0.004146824881 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xdb4c7f97dd7061603511e0d639360d61ef4617e78c840ae6d0a2b8b600dd1eea383300972022-11-15 15:26:4313 days 5 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xdb4c7f97dd7061603511e0d639360d61ef4617e78c840ae6d0a2b8b600dd1eea383300972022-11-15 15:26:4313 days 5 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0x802995c491ddccbb0a0d882ed242149c4fdd6987c2076aea4e88fded775bff2c383298382022-11-15 15:25:2713 days 5 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x802995c491ddccbb0a0d882ed242149c4fdd6987c2076aea4e88fded775bff2c383298382022-11-15 15:25:2713 days 5 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0xde46c4c9e0b805597939d7efa27774aa4d9dc6eb2aee45de9db402c422570544383199652022-11-15 14:37:3513 days 6 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xde46c4c9e0b805597939d7efa27774aa4d9dc6eb2aee45de9db402c422570544383199652022-11-15 14:37:3513 days 6 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0x603a66bdf47767a015b9e5a886d4736675713c63be6b80804aa44db9768605d1383134772022-11-15 14:07:1213 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x603a66bdf47767a015b9e5a886d4736675713c63be6b80804aa44db9768605d1383134772022-11-15 14:07:1213 days 7 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0x603a66bdf47767a015b9e5a886d4736675713c63be6b80804aa44db9768605d1383134772022-11-15 14:07:1213 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x603a66bdf47767a015b9e5a886d4736675713c63be6b80804aa44db9768605d1383134772022-11-15 14:07:1213 days 7 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0x78b25e9acea0633e57211c6827e17f37d8504bbbad17ec691a3216e99c216d4d383069762022-11-15 13:36:5913 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x78b25e9acea0633e57211c6827e17f37d8504bbbad17ec691a3216e99c216d4d383069762022-11-15 13:36:5913 days 7 hrs ago Premia: LINK Pool Premia: Fee Discount L20 ETH
0x5fdd31f4c6ec0307ab39acb105c7af5105f5631022a6a75dd22cc6d9b9871df7383065452022-11-15 13:35:1613 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x5fdd31f4c6ec0307ab39acb105c7af5105f5631022a6a75dd22cc6d9b9871df7383065452022-11-15 13:35:1613 days 7 hrs ago Premia: LINK Pool Premia: Fee Discount L20 ETH
0xdbf443be550a07e04f723e631f77e09469a6aea49670c26c3da417f8fa8bf33e383065022022-11-15 13:35:0513 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xdbf443be550a07e04f723e631f77e09469a6aea49670c26c3da417f8fa8bf33e383065022022-11-15 13:35:0513 days 7 hrs ago Premia: LINK Pool Premia: Fee Discount L20 ETH
0xe5f9d8fdf0dfc1133ef8c72b76ea740a7ae58efd051f6ad5a3be10ebed647f7e383046802022-11-15 13:26:4213 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xe5f9d8fdf0dfc1133ef8c72b76ea740a7ae58efd051f6ad5a3be10ebed647f7e383046802022-11-15 13:26:4213 days 7 hrs ago Premia: WBTC Pool Premia: Fee Discount L20 ETH
0xe9cd05604ba50d6f6f639bd5217e48982cd9ab8fdbbc9265b84bbed4e8effa8f383039642022-11-15 13:23:2313 days 7 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xe9cd05604ba50d6f6f639bd5217e48982cd9ab8fdbbc9265b84bbed4e8effa8f383039642022-11-15 13:23:2313 days 7 hrs ago Premia: WBTC Pool Premia: Fee Discount L20 ETH
0x88e78b100a4d6e4b6cf74ea47b706cb2fd3b50f55179b381c96aedddbef6a1a8382775392022-11-15 11:21:2013 days 9 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0x88e78b100a4d6e4b6cf74ea47b706cb2fd3b50f55179b381c96aedddbef6a1a8382775392022-11-15 11:21:2013 days 9 hrs ago Premia: WETH Pool Premia: Fee Discount L20 ETH
0xcb6922428edc4c2fd639f0ccfba14978ef3b1f221a9d0b4f91f1706210461905382650232022-11-15 10:20:3813 days 10 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
0xcb6922428edc4c2fd639f0ccfba14978ef3b1f221a9d0b4f91f1706210461905382650232022-11-15 10:20:3813 days 10 hrs ago 0x41cbe7879d887fe84cd9dce4bd6de37f2eeb9ace Premia: Fee Discount L20 ETH
0x17ba3b0e6adcfa76025cd7dc38925994e48afe4f4765d838147dbe445f56f59f382600642022-11-15 9:56:2313 days 11 hrs ago Premia: Fee Discount L2 0x4024f711b40f9fa42620123fc179102a53e6a5000 ETH
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xC4B2C51f969e0713E799De73b7f130Fb7Bb604CF

Contract Name:
ProxyUpgradeableOwnable

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 11 : ProxyUpgradeableOwnable.sol
// SPDX-License-Identifier: BUSL-1.1
// For further clarification please see https://license.premia.legal

pragma solidity ^0.8.0;

import {Proxy} from "@solidstate/contracts/proxy/Proxy.sol";
import {SafeOwnable, OwnableStorage} from "@solidstate/contracts/access/SafeOwnable.sol";
import {ProxyUpgradeableOwnableStorage} from "./ProxyUpgradeableOwnableStorage.sol";

contract ProxyUpgradeableOwnable is Proxy, SafeOwnable {
    using ProxyUpgradeableOwnableStorage for ProxyUpgradeableOwnableStorage.Layout;
    using OwnableStorage for OwnableStorage.Layout;

    constructor(address implementation) {
        OwnableStorage.layout().setOwner(msg.sender);
        ProxyUpgradeableOwnableStorage.layout().implementation = implementation;
    }

    receive() external payable {}

    /**
     * @inheritdoc Proxy
     */
    function _getImplementation() internal view override returns (address) {
        return ProxyUpgradeableOwnableStorage.layout().implementation;
    }

    /**
     * @notice get address of implementation contract
     * @return implementation address
     */
    function getImplementation() external view returns (address) {
        return _getImplementation();
    }

    /**
     * @notice set address of implementation contract
     * @param implementation address of the new implementation
     */
    function setImplementation(address implementation) external onlyOwner {
        ProxyUpgradeableOwnableStorage.layout().implementation = implementation;
    }
}

File 2 of 11 : Proxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { AddressUtils } from '../utils/AddressUtils.sol';

/**
 * @title Base proxy contract
 */
abstract contract Proxy {
    using AddressUtils for address;

    /**
     * @notice delegate all calls to implementation contract
     * @dev reverts if implementation address contains no code, for compatibility with metamorphic contracts
     * @dev memory location in use by assembly may be unsafe in other contexts
     */
    fallback() external payable virtual {
        address implementation = _getImplementation();

        require(
            implementation.isContract(),
            'Proxy: implementation must be contract'
        );

        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(
                gas(),
                implementation,
                0,
                calldatasize(),
                0,
                0
            )
            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    /**
     * @notice get logic implementation address
     * @return implementation address
     */
    function _getImplementation() internal virtual returns (address);
}

File 3 of 11 : SafeOwnable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { Ownable, OwnableStorage } from './Ownable.sol';
import { SafeOwnableInternal } from './SafeOwnableInternal.sol';
import { SafeOwnableStorage } from './SafeOwnableStorage.sol';

/**
 * @title Ownership access control based on ERC173 with ownership transfer safety check
 */
abstract contract SafeOwnable is Ownable, SafeOwnableInternal {
    using OwnableStorage for OwnableStorage.Layout;
    using SafeOwnableStorage for SafeOwnableStorage.Layout;

    function nomineeOwner() public view virtual returns (address) {
        return SafeOwnableStorage.layout().nomineeOwner;
    }

    /**
     * @inheritdoc Ownable
     * @dev ownership transfer must be accepted by beneficiary before transfer is complete
     */
    function transferOwnership(address account)
        public
        virtual
        override
        onlyOwner
    {
        SafeOwnableStorage.layout().setNomineeOwner(account);
    }

    /**
     * @notice accept transfer of contract ownership
     */
    function acceptOwnership() public virtual onlyNomineeOwner {
        OwnableStorage.Layout storage l = OwnableStorage.layout();
        emit OwnershipTransferred(l.owner, msg.sender);
        l.setOwner(msg.sender);
        SafeOwnableStorage.layout().setNomineeOwner(address(0));
    }
}

File 4 of 11 : ProxyUpgradeableOwnableStorage.sol
// SPDX-License-Identifier: BUSL-1.1
// For further clarification please see https://license.premia.legal

pragma solidity ^0.8.0;

library ProxyUpgradeableOwnableStorage {
    bytes32 internal constant STORAGE_SLOT =
        keccak256("premia.contracts.storage.ProxyUpgradeableOwnable");

    struct Layout {
        address implementation;
    }

    function layout() internal pure returns (Layout storage l) {
        bytes32 slot = STORAGE_SLOT;
        assembly {
            l.slot := slot
        }
    }
}

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

pragma solidity ^0.8.0;

library AddressUtils {
    function toString(address account) internal pure returns (string memory) {
        bytes32 value = bytes32(uint256(uint160(account)));
        bytes memory alphabet = '0123456789abcdef';
        bytes memory chars = new bytes(42);

        chars[0] = '0';
        chars[1] = 'x';

        for (uint256 i = 0; i < 20; i++) {
            chars[2 + i * 2] = alphabet[uint8(value[i + 12] >> 4)];
            chars[3 + i * 2] = alphabet[uint8(value[i + 12] & 0x0f)];
        }

        return string(chars);
    }

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function sendValue(address payable account, uint256 amount) internal {
        (bool success, ) = account.call{ value: amount }('');
        require(success, 'AddressUtils: failed to send value');
    }

    function functionCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return
            functionCall(target, data, 'AddressUtils: failed low-level call');
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory error
    ) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, error);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                value,
                'AddressUtils: failed low-level call with value'
            );
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory error
    ) internal returns (bytes memory) {
        require(
            address(this).balance >= value,
            'AddressUtils: insufficient balance for call'
        );
        return _functionCallWithValue(target, data, value, error);
    }

    function _functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory error
    ) private returns (bytes memory) {
        require(
            isContract(target),
            'AddressUtils: function call to non-contract'
        );

        (bool success, bytes memory returnData) = target.call{ value: value }(
            data
        );

        if (success) {
            return returnData;
        } else if (returnData.length > 0) {
            assembly {
                let returnData_size := mload(returnData)
                revert(add(32, returnData), returnData_size)
            }
        } else {
            revert(error);
        }
    }
}

File 6 of 11 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { IERC173 } from './IERC173.sol';
import { OwnableInternal } from './OwnableInternal.sol';
import { OwnableStorage } from './OwnableStorage.sol';

/**
 * @title Ownership access control based on ERC173
 */
abstract contract Ownable is IERC173, OwnableInternal {
    using OwnableStorage for OwnableStorage.Layout;

    /**
     * @inheritdoc IERC173
     */
    function owner() public view virtual override returns (address) {
        return OwnableStorage.layout().owner;
    }

    /**
     * @inheritdoc IERC173
     */
    function transferOwnership(address account)
        public
        virtual
        override
        onlyOwner
    {
        OwnableStorage.layout().setOwner(account);
        emit OwnershipTransferred(msg.sender, account);
    }
}

File 7 of 11 : SafeOwnableInternal.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { SafeOwnableStorage } from './SafeOwnableStorage.sol';

abstract contract SafeOwnableInternal {
    using SafeOwnableStorage for SafeOwnableStorage.Layout;

    modifier onlyNomineeOwner() {
        require(
            msg.sender == SafeOwnableStorage.layout().nomineeOwner,
            'SafeOwnable: sender must be nominee owner'
        );
        _;
    }
}

File 8 of 11 : SafeOwnableStorage.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

library SafeOwnableStorage {
    struct Layout {
        address nomineeOwner;
    }

    bytes32 internal constant STORAGE_SLOT =
        keccak256('solidstate.contracts.storage.SafeOwnable');

    function layout() internal pure returns (Layout storage l) {
        bytes32 slot = STORAGE_SLOT;
        assembly {
            l.slot := slot
        }
    }

    function setNomineeOwner(Layout storage l, address nomineeOwner) internal {
        l.nomineeOwner = nomineeOwner;
    }
}

File 9 of 11 : IERC173.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @title Contract ownership standard interface
 * @dev see https://eips.ethereum.org/EIPS/eip-173
 */
interface IERC173 {
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    /**
     * @notice get the ERC173 contract owner
     * @return conract owner
     */
    function owner() external view returns (address);

    /**
     * @notice transfer contract ownership to new account
     * @param account address of new owner
     */
    function transferOwnership(address account) external;
}

File 10 of 11 : OwnableInternal.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import { OwnableStorage } from './OwnableStorage.sol';

abstract contract OwnableInternal {
    using OwnableStorage for OwnableStorage.Layout;

    modifier onlyOwner() {
        require(
            msg.sender == OwnableStorage.layout().owner,
            'Ownable: sender must be owner'
        );
        _;
    }
}

File 11 of 11 : OwnableStorage.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

library OwnableStorage {
    struct Layout {
        address owner;
    }

    bytes32 internal constant STORAGE_SLOT =
        keccak256('solidstate.contracts.storage.Ownable');

    function layout() internal pure returns (Layout storage l) {
        bytes32 slot = STORAGE_SLOT;
        assembly {
            l.slot := slot
        }
    }

    function setOwner(Layout storage l, address owner) internal {
        l.owner = owner;
    }
}

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nomineeOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516105fb3803806105fb83398101604081905261002f916100f3565b6100573361004561008e60201b6103de1760201c565b6100b260201b6104021790919060201c565b8061006a6100cf60201b61041f1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550610123565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b81546001600160a01b0319166001600160a01b0391909116179055565b7fec1bacb76164b9264bf407e47c681dddfa298268d816c359f3290c1efbd02ab290565b60006020828403121561010557600080fd5b81516001600160a01b038116811461011c57600080fd5b9392505050565b6104c9806101326000396000f3fe6080604052600436106100595760003560e01c806379ba5097146100fb5780638ab5150a146101125780638da5cb5b14610143578063aaf10f4214610158578063d784d4261461016d578063f2fde38b1461018d57610060565b3661006057005b600061006a6101ad565b90506001600160a01b0381163b6100d75760405162461bcd60e51b815260206004820152602660248201527f50726f78793a20696d706c656d656e746174696f6e206d75737420626520636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100f6573d6000f35b3d6000fd5b34801561010757600080fd5b506101106101c6565b005b34801561011e57600080fd5b506101276102ad565b6040516001600160a01b03909116815260200160405180910390f35b34801561014f57600080fd5b506101276102c3565b34801561016457600080fd5b506101276102cd565b34801561017957600080fd5b50610110610188366004610443565b6102dc565b34801561019957600080fd5b506101106101a8366004610443565b610366565b60006101b761041f565b546001600160a01b0316919050565b600080516020610474833981519152546001600160a01b0316331461023f5760405162461bcd60e51b815260206004820152602960248201527f536166654f776e61626c653a2073656e646572206d757374206265206e6f6d696044820152683732b29037bbb732b960b91b60648201526084016100ce565b60006102496103de565b805460405191925033916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a361028f8133610402565b6102aa60006000805160206104748339815191525b90610402565b50565b60006000805160206104748339815191526101b7565b60006101b76103de565b60006102d76101ad565b905090565b6102e46103de565b546001600160a01b0316331461033c5760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b8061034561041f565b80546001600160a01b0319166001600160a01b039290921691909117905550565b61036e6103de565b546001600160a01b031633146103c65760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b6102aa816000805160206104748339815191526102a4565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b81546001600160a01b0319166001600160a01b0391909116179055565b7fec1bacb76164b9264bf407e47c681dddfa298268d816c359f3290c1efbd02ab290565b60006020828403121561045557600080fd5b81356001600160a01b038116811461046c57600080fd5b939250505056fe24aa1f7b31fd188a8d3ecfb06bc55c806040e59b03bd4396283442fce6617890a2646970667358221220e644baf85f64e4941e710d9c1e686cc52175830284f6a716513eddb1b7f522a964736f6c63430008090033000000000000000000000000f92b8ad7a62437142c4bf87d91e2be0fe1f44e9f

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.