ETH Price: $2,529.97 (+5.15%)

Contract

0xbfDC37499D99046710a9C567016791c71cD25Cf6

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Multi Claim1175366632024-03-17 10:41:43428 days ago1710672103IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000012973730.0061257
Multi Claim1138039252023-12-22 0:57:07515 days ago1703206627IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000636042360.00387979
Multi Claim1132248552023-12-08 15:14:47528 days ago1702048487IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001502239450.00909203
Multi Claim1130527272023-12-04 15:37:11532 days ago1701704231IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001241988320.0172493
Multi Claim1121901672023-11-14 16:25:11552 days ago1699979111IN
0xbfDC3749...71cD25Cf6
0 ETH0.000131322780.00896418
Multi Claim1119356942023-11-08 19:02:45558 days ago1699470165IN
0xbfDC3749...71cD25Cf6
0 ETH0.00017219540.11028022
Multi Claim1116445682023-11-02 1:18:33565 days ago1698887913IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001074365720.11035588
Multi Claim1107389592023-10-12 2:11:35586 days ago1697076695IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000283300160.11896895
Multi Claim1105329532023-10-07 7:44:43591 days ago1696664683IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000377365660.12095201
Multi Claim1104738112023-10-05 22:53:19592 days ago1696546399IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000259931890.11169989
Multi Claim1104139152023-10-04 13:36:47593 days ago1696426607IN
0xbfDC3749...71cD25Cf6
0 ETH0.000068717280.12306489
Multi Claim1103185042023-10-02 8:36:25596 days ago1696235785IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000634908280.13545244
Multi Claim1103067822023-10-02 2:05:41596 days ago1696212341IN
0xbfDC3749...71cD25Cf6
0 ETH0.000024064240.02792758
Multi Claim1103026652023-10-01 23:48:27596 days ago1696204107IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000372455430.13234146
Multi Claim1102326042023-09-30 8:53:05598 days ago1696063985IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000249375230.04385229
Multi Claim1100286022023-09-25 15:33:01602 days ago1695655981IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001233941450.26540745
Multi Claim1099829722023-09-24 14:12:01603 days ago1695564721IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000481184450.16330795
Multi Claim1097001022023-09-18 1:03:01610 days ago1694998981IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000393135670.15417462
Multi Claim1096473592023-09-16 19:44:55611 days ago1694893495IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001040152410.25064638
Multi Claim1096471022023-09-16 19:36:21611 days ago1694892981IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000611090870.26141629
Multi Claim1096467442023-09-16 19:24:25611 days ago1694892265IN
0xbfDC3749...71cD25Cf6
0 ETH0.0001064241390.25181967
Multi Claim1095621712023-09-14 20:25:19613 days ago1694723119IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000620608090.00028149
Multi Claim1095006472023-09-13 10:14:31614 days ago1694600071IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000748900390.10000005
Multi Claim1095002732023-09-13 10:02:03614 days ago1694599323IN
0xbfDC3749...71cD25Cf6
0 ETH0.0000606718490.01000007
Multi Claim1095002532023-09-13 10:01:23614 days ago1694599283IN
0xbfDC3749...71cD25Cf6
0 ETH0.000059031520.0161044
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1075550172023-07-30 9:20:11660 days ago1690708811
0xbfDC3749...71cD25Cf6
0 ETH
1075550172023-07-30 9:20:11660 days ago1690708811
0xbfDC3749...71cD25Cf6
0 ETH
1075550172023-07-30 9:20:11660 days ago1690708811
0xbfDC3749...71cD25Cf6
0 ETH
1075549402023-07-30 9:17:37660 days ago1690708657
0xbfDC3749...71cD25Cf6
0 ETH
1075549402023-07-30 9:17:37660 days ago1690708657
0xbfDC3749...71cD25Cf6
0 ETH
1075549402023-07-30 9:17:37660 days ago1690708657
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075513572023-07-30 7:18:11660 days ago1690701491
0xbfDC3749...71cD25Cf6
0 ETH
1075078362023-07-29 7:07:29661 days ago1690614449
0xbfDC3749...71cD25Cf6
0 ETH
1075078362023-07-29 7:07:29661 days ago1690614449
0xbfDC3749...71cD25Cf6
0 ETH
1075078362023-07-29 7:07:29661 days ago1690614449
0xbfDC3749...71cD25Cf6
0 ETH
1075078262023-07-29 7:07:09661 days ago1690614429
0xbfDC3749...71cD25Cf6
0 ETH
1075078262023-07-29 7:07:09661 days ago1690614429
0xbfDC3749...71cD25Cf6
0 ETH
1075078262023-07-29 7:07:09661 days ago1690614429
0xbfDC3749...71cD25Cf6
0 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PremiaMiningProxy

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.8.0;

import {ProxyUpgradeableOwnable} from "../ProxyUpgradeableOwnable.sol";
import {PremiaMiningStorage} from "./PremiaMiningStorage.sol";

contract PremiaMiningProxy is ProxyUpgradeableOwnable {
    constructor(address implementation, uint256 premiaPerYear)
        ProxyUpgradeableOwnable(implementation)
    {
        PremiaMiningStorage.layout().premiaPerYear = premiaPerYear;
    }
}

// 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 14 : PremiaMiningStorage.sol
// SPDX-License-Identifier: BUSL-1.1
// For further clarification please see https://license.premia.legal

pragma solidity ^0.8.0;

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

    // Info of each pool.
    struct PoolInfo {
        uint256 allocPoint; // How many allocation points assigned to this pool. PREMIA to distribute per block.
        uint256 lastRewardTimestamp; // Last timestamp that PREMIA distribution occurs
        uint256 accPremiaPerShare; // Accumulated PREMIA per share, times 1e12. See below.
    }

    // Info of each user.
    struct UserInfo {
        uint256 reward; // Total allocated unclaimed reward
        uint256 rewardDebt; // Reward debt. See explanation below.
        //
        // We do some fancy math here. Basically, any point in time, the amount of PREMIA
        // entitled to a user but is pending to be distributed is:
        //
        //   pending reward = (user.amount * pool.accPremiaPerShare) - user.rewardDebt
        //
        // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens:
        //   1. The pool's `accPremiaPerShare` (and `lastRewardBlock`) gets updated.
        //   2. User receives the pending reward sent to his/her address.
        //   3. User's `amount` gets updated.
        //   4. User's `rewardDebt` gets updated.
    }

    struct Layout {
        // Total PREMIA left to distribute
        uint256 premiaAvailable;
        // Amount of premia distributed per year
        uint256 premiaPerYear;
        // pool -> isCallPool -> PoolInfo
        mapping(address => mapping(bool => PoolInfo)) poolInfo;
        // pool -> isCallPool -> user -> UserInfo
        mapping(address => mapping(bool => mapping(address => UserInfo))) userInfo;
        // Total allocation points. Must be the sum of all allocation points in all pools.
        uint256 totalAllocPoint;
    }

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

File 2 of 14 : 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);
}

// 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 2 of 14 : 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
        }
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

library AddressUtils {
    using UintUtils for uint256;

    function toString(address account) internal pure returns (string memory) {
        return uint256(uint160(account)).toHexString(20);
    }

    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);
        }
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @title utility functions for uint256 operations
 * @dev derived from https://github.com/OpenZeppelin/openzeppelin-contracts/ (MIT license)
 */
library UintUtils {
    bytes16 private constant HEX_SYMBOLS = '0123456789abcdef';

    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return '0';
        }

        uint256 temp = value;
        uint256 digits;

        while (temp != 0) {
            digits++;
            temp /= 10;
        }

        bytes memory buffer = new bytes(digits);

        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }

        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return '0x00';
        }

        uint256 length = 0;

        for (uint256 temp = value; temp != 0; temp >>= 8) {
            unchecked {
                length++;
            }
        }

        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length)
        internal
        pure
        returns (string memory)
    {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = '0';
        buffer[1] = 'x';

        unchecked {
            for (uint256 i = 2 * length + 1; i > 1; --i) {
                buffer[i] = HEX_SYMBOLS[value & 0xf];
                value >>= 4;
            }
        }

        require(value == 0, 'UintUtils: hex length insufficient');

        return string(buffer);
    }
}

// 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 returns (address) {
        return OwnableStorage.layout().owner;
    }

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

File 2 of 14 : 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'
        );
        _;
    }
}

// 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;
    }
}

// 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 2 of 14 : 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'
        );
        _;
    }
}

// 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",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"uint256","name":"premiaPerYear","type":"uint256"}],"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"}]

608060405234801561001057600080fd5b5060405161067138038061067183398101604081905261002f9161013b565b81610058336100466100b260201b6103de1760201c565b6100d660201b6104021790919060201c565b8061006b6100f360201b61041f1760201c565b60000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050806100a661011760201b6104431760201c565b60010155506101759050565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b81546001600160a01b0319166001600160a01b0391909116179055565b7fec1bacb76164b9264bf407e47c681dddfa298268d816c359f3290c1efbd02ab290565b7fbc3d0f4e527eb7d9d4c8c04935880d70508034a03e9e2dcd581650e0921fbe9d90565b6000806040838503121561014e57600080fd5b82516001600160a01b038116811461016557600080fd5b6020939093015192949293505050565b6104ed806101846000396000f3fe6080604052600436106100595760003560e01c806379ba5097146100fb5780638ab5150a146101125780638da5cb5b14610143578063aaf10f4214610158578063d784d4261461016d578063f2fde38b1461018d57610060565b3661006057005b600061006a6101ad565b90506001600160a01b0381163b6100d75760405162461bcd60e51b815260206004820152602660248201527f50726f78793a20696d706c656d656e746174696f6e206d75737420626520636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100f6573d6000f35b3d6000fd5b34801561010757600080fd5b506101106101c6565b005b34801561011e57600080fd5b506101276102ad565b6040516001600160a01b03909116815260200160405180910390f35b34801561014f57600080fd5b506101276102c3565b34801561016457600080fd5b506101276102cd565b34801561017957600080fd5b50610110610188366004610467565b6102dc565b34801561019957600080fd5b506101106101a8366004610467565b610366565b60006101b761041f565b546001600160a01b0316919050565b600080516020610498833981519152546001600160a01b0316331461023f5760405162461bcd60e51b815260206004820152602960248201527f536166654f776e61626c653a2073656e646572206d757374206265206e6f6d696044820152683732b29037bbb732b960b91b60648201526084016100ce565b60006102496103de565b805460405191925033916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a361028f8133610402565b6102aa60006000805160206104988339815191525b90610402565b50565b60006000805160206104988339815191526101b7565b60006101b76103de565b60006102d76101ad565b905090565b6102e46103de565b546001600160a01b0316331461033c5760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b8061034561041f565b80546001600160a01b0319166001600160a01b039290921691909117905550565b61036e6103de565b546001600160a01b031633146103c65760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b6102aa816000805160206104988339815191526102a4565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b81546001600160a01b0319166001600160a01b0391909116179055565b7fec1bacb76164b9264bf407e47c681dddfa298268d816c359f3290c1efbd02ab290565b7fbc3d0f4e527eb7d9d4c8c04935880d70508034a03e9e2dcd581650e0921fbe9d90565b60006020828403121561047957600080fd5b81356001600160a01b038116811461049057600080fd5b939250505056fe24aa1f7b31fd188a8d3ecfb06bc55c806040e59b03bd4396283442fce6617890a2646970667358221220ba78e04c676bca69aca096c96ef5284c30826d0c748431ee8c1937430049766f64736f6c634300080c00330000000000000000000000003a87bb29b984d672664aa1dd2d19d2e8b24f0f2a00000000000000000000000000000000000000000000000006f05b59d3b20000

Deployed Bytecode

0x6080604052600436106100595760003560e01c806379ba5097146100fb5780638ab5150a146101125780638da5cb5b14610143578063aaf10f4214610158578063d784d4261461016d578063f2fde38b1461018d57610060565b3661006057005b600061006a6101ad565b90506001600160a01b0381163b6100d75760405162461bcd60e51b815260206004820152602660248201527f50726f78793a20696d706c656d656e746174696f6e206d75737420626520636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100f6573d6000f35b3d6000fd5b34801561010757600080fd5b506101106101c6565b005b34801561011e57600080fd5b506101276102ad565b6040516001600160a01b03909116815260200160405180910390f35b34801561014f57600080fd5b506101276102c3565b34801561016457600080fd5b506101276102cd565b34801561017957600080fd5b50610110610188366004610467565b6102dc565b34801561019957600080fd5b506101106101a8366004610467565b610366565b60006101b761041f565b546001600160a01b0316919050565b600080516020610498833981519152546001600160a01b0316331461023f5760405162461bcd60e51b815260206004820152602960248201527f536166654f776e61626c653a2073656e646572206d757374206265206e6f6d696044820152683732b29037bbb732b960b91b60648201526084016100ce565b60006102496103de565b805460405191925033916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a361028f8133610402565b6102aa60006000805160206104988339815191525b90610402565b50565b60006000805160206104988339815191526101b7565b60006101b76103de565b60006102d76101ad565b905090565b6102e46103de565b546001600160a01b0316331461033c5760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b8061034561041f565b80546001600160a01b0319166001600160a01b039290921691909117905550565b61036e6103de565b546001600160a01b031633146103c65760405162461bcd60e51b815260206004820152601d60248201527f4f776e61626c653a2073656e646572206d757374206265206f776e657200000060448201526064016100ce565b6102aa816000805160206104988339815191526102a4565b7f8a22373512790c48b83a1fe2efdd2888d4a917bcdc24d0adf63e60f67168046090565b81546001600160a01b0319166001600160a01b0391909116179055565b7fec1bacb76164b9264bf407e47c681dddfa298268d816c359f3290c1efbd02ab290565b7fbc3d0f4e527eb7d9d4c8c04935880d70508034a03e9e2dcd581650e0921fbe9d90565b60006020828403121561047957600080fd5b81356001600160a01b038116811461049057600080fd5b939250505056fe24aa1f7b31fd188a8d3ecfb06bc55c806040e59b03bd4396283442fce6617890a2646970667358221220ba78e04c676bca69aca096c96ef5284c30826d0c748431ee8c1937430049766f64736f6c634300080c0033

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

0000000000000000000000003a87bb29b984d672664aa1dd2d19d2e8b24f0f2a00000000000000000000000000000000000000000000000006f05b59d3b20000

-----Decoded View---------------
Arg [0] : implementation (address): 0x3A87bB29b984d672664Aa1dD2d19D2e8b24f0f2A
Arg [1] : premiaPerYear (uint256): 500000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a87bb29b984d672664aa1dd2d19d2e8b24f0f2a
Arg [1] : 00000000000000000000000000000000000000000000000006f05b59d3b20000


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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
[ 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.