ETH Price: $3,046.42 (+0.20%)
 

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
Remove Ssv Valid...228883672025-07-10 11:05:11149 days ago1752145511IN
Origin: First Native Staking Strategy
0 ETH0.000419743
Do Accounting225702582025-05-26 23:30:35194 days ago1748302235IN
Origin: First Native Staking Strategy
0 ETH0.000033731
Do Accounting225631212025-05-25 23:30:35195 days ago1748215835IN
Origin: First Native Staking Strategy
0 ETH0.000033731
Do Accounting225559862025-05-24 23:30:35196 days ago1748129435IN
Origin: First Native Staking Strategy
0 ETH0.000033731
Remove Ssv Valid...225558732025-05-24 23:07:47196 days ago1748128067IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558692025-05-24 23:06:59196 days ago1748128019IN
Origin: First Native Staking Strategy
0 ETH0.000139861
Remove Ssv Valid...225558652025-05-24 23:06:11196 days ago1748127971IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558612025-05-24 23:05:23196 days ago1748127923IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558562025-05-24 23:04:23196 days ago1748127863IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558522025-05-24 23:03:35196 days ago1748127815IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558482025-05-24 23:02:47196 days ago1748127767IN
Origin: First Native Staking Strategy
0 ETH0.000139861
Remove Ssv Valid...225558442025-05-24 23:01:59196 days ago1748127719IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558402025-05-24 23:01:11196 days ago1748127671IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558362025-05-24 23:00:23196 days ago1748127623IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558322025-05-24 22:59:35196 days ago1748127575IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558282025-05-24 22:58:47196 days ago1748127527IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558242025-05-24 22:57:59196 days ago1748127479IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558202025-05-24 22:57:11196 days ago1748127431IN
Origin: First Native Staking Strategy
0 ETH0.000139861
Remove Ssv Valid...225558162025-05-24 22:56:23196 days ago1748127383IN
Origin: First Native Staking Strategy
0 ETH0.000139841
Remove Ssv Valid...225558112025-05-24 22:55:23196 days ago1748127323IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225558072025-05-24 22:54:35196 days ago1748127275IN
Origin: First Native Staking Strategy
0 ETH0.000139861
Remove Ssv Valid...225558032025-05-24 22:53:47196 days ago1748127227IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225557992025-05-24 22:52:59196 days ago1748127179IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225557952025-05-24 22:52:11196 days ago1748127131IN
Origin: First Native Staking Strategy
0 ETH0.000139871
Remove Ssv Valid...225557912025-05-24 22:51:23196 days ago1748127083IN
Origin: First Native Staking Strategy
0 ETH0.000139871
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit225743932025-05-27 13:23:47193 days ago1748352227
Origin: First Native Staking Strategy
0.68011472 ETH
Transfer225743932025-05-27 13:23:47193 days ago1748352227
Origin: First Native Staking Strategy
0.05126845 ETH
Deposit225555612025-05-24 22:05:11196 days ago1748124311
Origin: First Native Staking Strategy
2,048 ETH
Deposit224918412025-05-15 23:40:35205 days ago1747352435
Origin: First Native Staking Strategy
1.41125587 ETH
Deposit224705132025-05-12 23:40:35208 days ago1747093235
Origin: First Native Staking Strategy
0.52522622 ETH
Transfer224705132025-05-12 23:40:35208 days ago1747093235
Origin: First Native Staking Strategy
0.52522622 ETH
Deposit224279972025-05-06 23:40:35214 days ago1746574835
Origin: First Native Staking Strategy
1.4875127 ETH
Transfer224279972025-05-06 23:40:35214 days ago1746574835
Origin: First Native Staking Strategy
0.07147408 ETH
Deposit223565612025-04-26 23:40:35224 days ago1745710835
Origin: First Native Staking Strategy
1.66341882 ETH
Transfer223565612025-04-26 23:40:35224 days ago1745710835
Origin: First Native Staking Strategy
0.20124657 ETH
Deposit222920602025-04-17 23:40:35233 days ago1744933235
Origin: First Native Staking Strategy
1.90761621 ETH
Deposit222916942025-04-17 22:26:23233 days ago1744928783
Origin: First Native Staking Strategy
640 ETH
Deposit222848992025-04-16 23:40:35234 days ago1744846835
Origin: First Native Staking Strategy
1.42354612 ETH
Transfer222848992025-04-16 23:40:35234 days ago1744846835
Origin: First Native Staking Strategy
1.42354612 ETH
Deposit222275292025-04-08 23:40:35242 days ago1744155635
Origin: First Native Staking Strategy
2.13948189 ETH
Transfer222275292025-04-08 23:40:35242 days ago1744155635
Origin: First Native Staking Strategy
0.21170488 ETH
Deposit221630762025-03-30 23:40:35251 days ago1743378035
Origin: First Native Staking Strategy
2.01159563 ETH
Transfer221630762025-03-30 23:40:35251 days ago1743378035
Origin: First Native Staking Strategy
0.13195693 ETH
Deposit220914232025-03-20 23:40:35261 days ago1742514035
Origin: First Native Staking Strategy
1.93551707 ETH
Transfer220914232025-03-20 23:40:35261 days ago1742514035
Origin: First Native Staking Strategy
0.08573539 ETH
Deposit220269672025-03-11 23:40:35270 days ago1741736435
Origin: First Native Staking Strategy
2.45874686 ETH
Transfer220269672025-03-11 23:40:35270 days ago1741736435
Origin: First Native Staking Strategy
0.28683798 ETH
Deposit220269172025-03-11 23:30:35270 days ago1741735835
Origin: First Native Staking Strategy
512 ETH
Deposit219625382025-03-02 23:40:35279 days ago1740958835
Origin: First Native Staking Strategy
3.05143119 ETH
Transfer219625382025-03-02 23:40:35279 days ago1740958835
Origin: First Native Staking Strategy
0.4909 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

 Latest 25 blocks (From a total of 137 blocks with 3.70 Ether produced)

Block Transaction Difficulty Gas Used Reward
205530742024-08-18 4:18:23476 days ago1723954703720.00 TH29,124,247 (97.08%)
0.009666289393419159 ETH
205480022024-08-17 11:19:35476 days ago1723893575890.00 TH29,806,578 (99.36%)
0.015764741224954857 ETH
205478552024-08-17 10:49:59476 days ago17238917991050.00 TH10,673,139 (35.58%)
0.033128265901351031 ETH
205445962024-08-16 23:53:35477 days ago1723852415910.00 TH6,756,591 (22.52%)
0.01013698679172286 ETH
205437132024-08-16 20:55:23477 days ago17238417231870.00 TH13,669,049 (45.56%)
0.038076708659912901 ETH
205409322024-08-16 11:36:11477 days ago17238081711390.00 TH12,318,335 (41.06%)
0.014602498569959457 ETH
205387672024-08-16 4:22:11478 days ago1723782131890.00 TH9,236,227 (30.79%)
0.019594696452317597 ETH
205358792024-08-15 18:40:59478 days ago1723747259870.00 TH7,304,656 (24.35%)
0.026983386105052275 ETH
205348002024-08-15 15:03:11478 days ago17237341911200.00 TH11,238,755 (37.46%)
0.043904582737564064 ETH
205322512024-08-15 6:30:23478 days ago17237034231490.00 TH12,175,915 (40.59%)
0.01143694632004512 ETH
205253852024-08-14 7:30:11479 days ago17236206112950.00 TH17,329,013 (57.76%)
0.034162829765389881 ETH
205223322024-08-13 21:16:47480 days ago1723583807850.00 TH10,557,591 (35.19%)
0.046342556300838807 ETH
205220892024-08-13 20:28:11480 days ago17235808911810.00 TH12,356,712 (41.19%)
0.030399741643939954 ETH
205191382024-08-13 10:34:59480 days ago17235452992020.00 TH13,572,595 (45.24%)
0.0181442080805559 ETH
205177802024-08-13 6:01:23481 days ago17235288831040.00 TH13,713,975 (45.71%)
0.01249129640851242 ETH
205150382024-08-12 20:51:35481 days ago17234958951630.00 TH15,540,931 (51.80%)
0.060361482291980363 ETH
205138382024-08-12 16:50:47481 days ago17234814471050.00 TH9,461,946 (31.54%)
0.017168065817190423 ETH
205087362024-08-11 23:44:35482 days ago1723419875880.00 TH28,189,299 (93.96%)
0.014662700422607206 ETH
205082142024-08-11 21:59:59482 days ago17234135991230.00 TH28,340,172 (94.47%)
0.00579594543314661 ETH
205063472024-08-11 15:44:59482 days ago1723391099910.00 TH10,443,405 (34.81%)
0.02323968801599195 ETH
205056032024-08-11 13:15:23482 days ago17233821231050.00 TH8,575,579 (28.59%)
0.034510604533253052 ETH
205051102024-08-11 11:35:47482 days ago1723376147970.00 TH29,994,486 (99.98%)
0.015980181575201163 ETH
205018722024-08-11 0:43:59483 days ago1723337039990.00 TH6,879,583 (22.93%)
0.003982912587960107 ETH
204986462024-08-10 13:56:23483 days ago17232981831780.00 TH12,609,892 (42.03%)
0.036830636130798303 ETH
204974212024-08-10 9:49:47483 days ago1723283387990.00 TH8,060,233 (26.87%)
0.028429228726533551 ETH
View All Blocks Produced

Latest 25 from a total of 12801 withdrawals (16,374.271531056 ETH withdrawn)

Validator Index Block Amount
1485937225555172025-05-24 21:56:23196 days ago174812378332.008452543 ETH
1485936225555172025-05-24 21:56:23196 days ago174812378332.008493306 ETH
1485935225555172025-05-24 21:56:23196 days ago174812378332.008481935 ETH
1485934225555172025-05-24 21:56:23196 days ago174812378332.008515467 ETH
1485933225555162025-05-24 21:56:11196 days ago174812377132.054547146 ETH
1485932225555162025-05-24 21:56:11196 days ago174812377132.008497267 ETH
1485922225555162025-05-24 21:56:11196 days ago174812377132.008483835 ETH
1485921225555162025-05-24 21:56:11196 days ago174812377132.008488385 ETH
1485920225555162025-05-24 21:56:11196 days ago174812377132.008470378 ETH
1485919225555162025-05-24 21:56:11196 days ago174812377132.008478929 ETH
1485918225555162025-05-24 21:56:11196 days ago174812377132.008481622 ETH
1485917225555162025-05-24 21:56:11196 days ago174812377132.008474362 ETH
1485916225555162025-05-24 21:56:11196 days ago174812377132.008527633 ETH
1485915225555162025-05-24 21:56:11196 days ago174812377132.008450202 ETH
1485914225555162025-05-24 21:56:11196 days ago174812377132.008460827 ETH
1485913225555162025-05-24 21:56:11196 days ago174812377132.008521099 ETH
1485912225555162025-05-24 21:56:11196 days ago174812377132.008433955 ETH
1485911225555162025-05-24 21:56:11196 days ago174812377132.008438132 ETH
1485910225555162025-05-24 21:56:11196 days ago174812377132.008425811 ETH
1485909225555162025-05-24 21:56:11196 days ago174812377132.008451099 ETH
1485903225555152025-05-24 21:55:59196 days ago174812375932.008442864 ETH
1485902225555152025-05-24 21:55:59196 days ago174812375932.00846775 ETH
1485901225555152025-05-24 21:55:59196 days ago174812375932.008442817 ETH
1485900225555152025-05-24 21:55:59196 days ago174812375932.008469175 ETH
1485899225555152025-05-24 21:55:59196 days ago174812375932.008529672 ETH
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
NativeStakingSSVStrategyProxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

/**
 * @notice OUSDProxy delegates calls to an OUSD implementation
 */
contract OUSDProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice WrappedOUSDProxy delegates calls to a WrappedOUSD implementation
 */
contract WrappedOUSDProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice VaultProxy delegates calls to a Vault implementation
 */
contract VaultProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice CompoundStrategyProxy delegates calls to a CompoundStrategy implementation
 */
contract CompoundStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice AaveStrategyProxy delegates calls to a AaveStrategy implementation
 */
contract AaveStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice ThreePoolStrategyProxy delegates calls to a ThreePoolStrategy implementation
 */
contract ThreePoolStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice ConvexStrategyProxy delegates calls to a ConvexStrategy implementation
 */
contract ConvexStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice HarvesterProxy delegates calls to a Harvester implementation
 */
contract HarvesterProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice DripperProxy delegates calls to a Dripper implementation
 */
contract DripperProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice MorphoCompoundStrategyProxy delegates calls to a MorphoCompoundStrategy implementation
 */
contract MorphoCompoundStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice ConvexOUSDMetaStrategyProxy delegates calls to a ConvexOUSDMetaStrategy implementation
 */
contract ConvexOUSDMetaStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice ConvexLUSDMetaStrategyProxy delegates calls to a ConvexalGeneralizedMetaStrategy implementation
 */
contract ConvexLUSDMetaStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice MorphoAaveStrategyProxy delegates calls to a MorphoCompoundStrategy implementation
 */
contract MorphoAaveStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHProxy delegates calls to nowhere for now
 */
contract OETHProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice WOETHProxy delegates calls to nowhere for now
 */
contract WOETHProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHVaultProxy delegates calls to a Vault implementation
 */
contract OETHVaultProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHDripperProxy delegates calls to a OETHDripper implementation
 */
contract OETHDripperProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHHarvesterProxy delegates calls to a Harvester implementation
 */
contract OETHHarvesterProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice FraxETHStrategyProxy delegates calls to a FraxETHStrategy implementation
 */
contract FraxETHStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice CurveEthStrategyProxy delegates calls to a CurveEthStrategy implementation
 */
contract ConvexEthMetaStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice BuybackProxy delegates calls to Buyback implementation
 */
contract BuybackProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHMorphoAaveStrategyProxy delegates calls to a MorphoAaveStrategy implementation
 */
contract OETHMorphoAaveStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHBalancerMetaPoolrEthStrategyProxy delegates calls to a BalancerMetaPoolStrategy implementation
 */
contract OETHBalancerMetaPoolrEthStrategyProxy is
    InitializeGovernedUpgradeabilityProxy
{

}

/**
 * @notice OETHBalancerMetaPoolwstEthStrategyProxy delegates calls to a BalancerMetaPoolStrategy implementation
 */
contract OETHBalancerMetaPoolwstEthStrategyProxy is
    InitializeGovernedUpgradeabilityProxy
{

}

/**
 * @notice FluxStrategyProxy delegates calls to a CompoundStrategy implementation
 */
contract FluxStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice MakerDsrStrategyProxy delegates calls to a Generalized4626Strategy implementation
 */
contract MakerDsrStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice FrxEthRedeemStrategyProxy delegates calls to a FrxEthRedeemStrategy implementation
 */
contract FrxEthRedeemStrategyProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice OETHBuybackProxy delegates calls to Buyback implementation
 */
contract OETHBuybackProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice BridgedWOETHProxy delegates calls to BridgedWOETH implementation
 */
contract BridgedWOETHProxy is InitializeGovernedUpgradeabilityProxy {

}

/**
 * @notice NativeStakingSSVStrategyProxy delegates calls to NativeStakingSSVStrategy implementation
 */
contract NativeStakingSSVStrategyProxy is
    InitializeGovernedUpgradeabilityProxy
{

}

/**
 * @notice NativeStakingFeeAccumulatorProxy delegates calls to NativeStakingFeeCollector implementation
 */
contract NativeStakingFeeAccumulatorProxy is
    InitializeGovernedUpgradeabilityProxy
{

}

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

pragma solidity ^0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

/**
 * @title Base for contracts that are managed by the Origin Protocol's Governor.
 * @dev Copy of the openzeppelin Ownable.sol contract with nomenclature change
 *      from owner to governor and renounce methods removed. Does not use
 *      Context.sol like Ownable.sol does for simplification.
 * @author Origin Protocol Inc
 */
contract Governable {
    // Storage position of the owner and pendingOwner of the contract
    // keccak256("OUSD.governor");
    bytes32 private constant governorPosition =
        0x7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a;

    // keccak256("OUSD.pending.governor");
    bytes32 private constant pendingGovernorPosition =
        0x44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db;

    // keccak256("OUSD.reentry.status");
    bytes32 private constant reentryStatusPosition =
        0x53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535;

    // See OpenZeppelin ReentrancyGuard implementation
    uint256 constant _NOT_ENTERED = 1;
    uint256 constant _ENTERED = 2;

    event PendingGovernorshipTransfer(
        address indexed previousGovernor,
        address indexed newGovernor
    );

    event GovernorshipTransferred(
        address indexed previousGovernor,
        address indexed newGovernor
    );

    /**
     * @dev Initializes the contract setting the deployer as the initial Governor.
     */
    constructor() {
        _setGovernor(msg.sender);
        emit GovernorshipTransferred(address(0), _governor());
    }

    /**
     * @notice Returns the address of the current Governor.
     */
    function governor() public view returns (address) {
        return _governor();
    }

    /**
     * @dev Returns the address of the current Governor.
     */
    function _governor() internal view returns (address governorOut) {
        bytes32 position = governorPosition;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            governorOut := sload(position)
        }
    }

    /**
     * @dev Returns the address of the pending Governor.
     */
    function _pendingGovernor()
        internal
        view
        returns (address pendingGovernor)
    {
        bytes32 position = pendingGovernorPosition;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            pendingGovernor := sload(position)
        }
    }

    /**
     * @dev Throws if called by any account other than the Governor.
     */
    modifier onlyGovernor() {
        require(isGovernor(), "Caller is not the Governor");
        _;
    }

    /**
     * @notice Returns true if the caller is the current Governor.
     */
    function isGovernor() public view returns (bool) {
        return msg.sender == _governor();
    }

    function _setGovernor(address newGovernor) internal {
        bytes32 position = governorPosition;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(position, newGovernor)
        }
    }

    /**
     * @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 make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        bytes32 position = reentryStatusPosition;
        uint256 _reentry_status;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            _reentry_status := sload(position)
        }

        // On the first call to nonReentrant, _notEntered will be true
        require(_reentry_status != _ENTERED, "Reentrant call");

        // Any calls to nonReentrant after this point will fail
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(position, _ENTERED)
        }

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(position, _NOT_ENTERED)
        }
    }

    function _setPendingGovernor(address newGovernor) internal {
        bytes32 position = pendingGovernorPosition;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(position, newGovernor)
        }
    }

    /**
     * @notice Transfers Governance of the contract to a new account (`newGovernor`).
     * Can only be called by the current Governor. Must be claimed for this to complete
     * @param _newGovernor Address of the new Governor
     */
    function transferGovernance(address _newGovernor) external onlyGovernor {
        _setPendingGovernor(_newGovernor);
        emit PendingGovernorshipTransfer(_governor(), _newGovernor);
    }

    /**
     * @notice Claim Governance of the contract to a new account (`newGovernor`).
     * Can only be called by the new Governor.
     */
    function claimGovernance() external {
        require(
            msg.sender == _pendingGovernor(),
            "Only the pending Governor can complete the claim"
        );
        _changeGovernor(msg.sender);
    }

    /**
     * @dev Change Governance of the contract to a new account (`newGovernor`).
     * @param _newGovernor Address of the new Governor
     */
    function _changeGovernor(address _newGovernor) internal {
        require(_newGovernor != address(0), "New Governor is address(0)");
        emit GovernorshipTransferred(_governor(), _newGovernor);
        _setGovernor(_newGovernor);
    }
}

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

import { Address } from "@openzeppelin/contracts/utils/Address.sol";

import { Governable } from "../governance/Governable.sol";

/**
 * @title BaseGovernedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with our governor system.
 * It is based on an older version of OpenZeppelins BaseUpgradeabilityProxy
 * with Solidity ^0.8.0.
 * @author Origin Protocol Inc
 */
contract InitializeGovernedUpgradeabilityProxy is Governable {
    /**
     * @dev Emitted when the implementation is upgraded.
     * @param implementation Address of the new implementation.
     */
    event Upgraded(address indexed implementation);

    /**
     * @dev Contract initializer with Governor enforcement
     * @param _logic Address of the initial implementation.
     * @param _initGovernor Address of the initial Governor.
     * @param _data Data to send as msg.data to the implementation to initialize
     * the proxied contract.
     * It should include the signature and the parameters of the function to be
     * called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     * This parameter is optional, if no data is given the initialization call
     * to proxied contract will be skipped.
     */
    function initialize(
        address _logic,
        address _initGovernor,
        bytes calldata _data
    ) public payable onlyGovernor {
        require(_implementation() == address(0));
        assert(
            IMPLEMENTATION_SLOT ==
                bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)
        );
        _setImplementation(_logic);
        if (_data.length > 0) {
            (bool success, ) = _logic.delegatecall(_data);
            require(success);
        }
        _changeGovernor(_initGovernor);
    }

    /**
     * @return The address of the proxy admin/it's also the governor.
     */
    function admin() external view returns (address) {
        return _governor();
    }

    /**
     * @return The address of the implementation.
     */
    function implementation() external view returns (address) {
        return _implementation();
    }

    /**
     * @dev Upgrade the backing implementation of the proxy.
     * Only the admin can call this function.
     * @param newImplementation Address of the new implementation.
     */
    function upgradeTo(address newImplementation) external onlyGovernor {
        _upgradeTo(newImplementation);
    }

    /**
     * @dev Upgrade the backing implementation of the proxy and call a function
     * on the new implementation.
     * This is useful to initialize the proxied contract.
     * @param newImplementation Address of the new implementation.
     * @param data Data to send as msg.data in the low level call.
     * It should include the signature and the parameters of the function to be called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     */
    function upgradeToAndCall(address newImplementation, bytes calldata data)
        external
        payable
        onlyGovernor
    {
        _upgradeTo(newImplementation);
        (bool success, ) = newImplementation.delegatecall(data);
        require(success);
    }

    /**
     * @dev Fallback function.
     * Implemented entirely in `_fallback`.
     */
    fallback() external payable {
        _fallback();
    }

    /**
     * @dev Delegates execution to an implementation contract.
     * This is a low level function that doesn't return to its internal call site.
     * It will return to the external caller whatever the implementation returns.
     * @param _impl Address to delegate.
     */
    function _delegate(address _impl) internal {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), _impl, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    /**
     * @dev Function that is run as the first thing in the fallback function.
     * Can be redefined in derived contracts to add functionality.
     * Redefinitions must call super._willFallback().
     */
    function _willFallback() internal {}

    /**
     * @dev fallback implementation.
     * Extracted to enable manual triggering.
     */
    function _fallback() internal {
        _willFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Storage slot with the address of the current implementation.
     * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
     * validated in the constructor.
     */
    bytes32 internal constant IMPLEMENTATION_SLOT =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @dev Returns the current implementation.
     * @return impl Address of the current implementation
     */
    function _implementation() internal view returns (address impl) {
        bytes32 slot = IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            impl := sload(slot)
        }
    }

    /**
     * @dev Upgrades the proxy to a new implementation.
     * @param newImplementation Address of the new implementation.
     */
    function _upgradeTo(address newImplementation) internal {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    /**
     * @dev Sets the implementation address of the proxy.
     * @param newImplementation Address of the new implementation.
     */
    function _setImplementation(address newImplementation) internal {
        require(
            Address.isContract(newImplementation),
            "Cannot set a proxy implementation to a non-contract address"
        );

        bytes32 slot = IMPLEMENTATION_SLOT;

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, newImplementation)
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGovernor","type":"address"},{"indexed":true,"internalType":"address","name":"newGovernor","type":"address"}],"name":"GovernorshipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGovernor","type":"address"},{"indexed":true,"internalType":"address","name":"newGovernor","type":"address"}],"name":"PendingGovernorshipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_initGovernor","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernor","type":"address"}],"name":"transferGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b506100273360008051602061099083398151915255565b600080516020610990833981519152546040516001600160a01b03909116906000907fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a908290a36109138061007d6000396000f3fe6080604052600436106100865760003560e01c80635d36b190116100595780635d36b1901461010a578063c7af33521461011f578063cf7a1d7714610144578063d38bfff414610157578063f851a4401461009057610086565b80630c340a24146100905780633659cfe6146100c25780634f1ef286146100e25780635c60da1b146100f5575b61008e610177565b005b34801561009c57600080fd5b506100a5610197565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce57600080fd5b5061008e6100dd366004610745565b6101b4565b61008e6100f03660046107c8565b6101ed565b34801561010157600080fd5b506100a561028a565b34801561011657600080fd5b5061008e6102a2565b34801561012b57600080fd5b50610134610346565b60405190151581526020016100b9565b61008e610152366004610767565b610377565b34801561016357600080fd5b5061008e610172366004610745565b610491565b61019561019060008051602061089e8339815191525490565b610535565b565b60006101af6000805160206108be8339815191525490565b905090565b6101bc610346565b6101e15760405162461bcd60e51b81526004016101d89061082b565b60405180910390fd5b6101ea81610559565b50565b6101f5610346565b6102115760405162461bcd60e51b81526004016101d89061082b565b61021a83610559565b6000836001600160a01b0316838360405161023692919061081b565b600060405180830381855af49150503d8060008114610271576040519150601f19603f3d011682016040523d82523d6000602084013e610276565b606091505b505090508061028457600080fd5b50505050565b60006101af60008051602061089e8339815191525490565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db546001600160a01b0316336001600160a01b03161461033d5760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b60648201526084016101d8565b61019533610599565b600061035e6000805160206108be8339815191525490565b6001600160a01b0316336001600160a01b031614905090565b61037f610346565b61039b5760405162461bcd60e51b81526004016101d89061082b565b60006103b360008051602061089e8339815191525490565b6001600160a01b0316146103c657600080fd5b6103f160017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610862565b60008051602061089e8339815191521461040d5761040d610887565b6104168461065a565b8015610488576000846001600160a01b0316838360405161043892919061081b565b600060405180830381855af49150503d8060008114610473576040519150601f19603f3d011682016040523d82523d6000602084013e610478565b606091505b505090508061048657600080fd5b505b61028483610599565b610499610346565b6104b55760405162461bcd60e51b81526004016101d89061082b565b6104dd817f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b806001600160a01b03166104fd6000805160206108be8339815191525490565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b3660008037600080366000845af43d6000803e808015610554573d6000f35b3d6000fd5b6105628161065a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105ef5760405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f72206973206164647265737328302900000000000060448201526064016101d8565b806001600160a01b031661060f6000805160206108be8339815191525490565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36101ea816000805160206108be83398151915255565b803b6106ce5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084016101d8565b60008051602061089e83398151915255565b80356001600160a01b03811681146106f757600080fd5b919050565b60008083601f84011261070e57600080fd5b50813567ffffffffffffffff81111561072657600080fd5b60208301915083602082850101111561073e57600080fd5b9250929050565b60006020828403121561075757600080fd5b610760826106e0565b9392505050565b6000806000806060858703121561077d57600080fd5b610786856106e0565b9350610794602086016106e0565b9250604085013567ffffffffffffffff8111156107b057600080fd5b6107bc878288016106fc565b95989497509550505050565b6000806000604084860312156107dd57600080fd5b6107e6846106e0565b9250602084013567ffffffffffffffff81111561080257600080fd5b61080e868287016106fc565b9497909650939450505050565b8183823760009101908152919050565b6020808252601a908201527f43616c6c6572206973206e6f742074686520476f7665726e6f72000000000000604082015260600190565b60008282101561088257634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4aa26469706673582212203019a79a43f7d4ec89620197adcc99852be5f4965adfb8a6bbb0ad3954812e2c64736f6c634300080700337bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a

Deployed Bytecode

0x6080604052600436106100865760003560e01c80635d36b190116100595780635d36b1901461010a578063c7af33521461011f578063cf7a1d7714610144578063d38bfff414610157578063f851a4401461009057610086565b80630c340a24146100905780633659cfe6146100c25780634f1ef286146100e25780635c60da1b146100f5575b61008e610177565b005b34801561009c57600080fd5b506100a5610197565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ce57600080fd5b5061008e6100dd366004610745565b6101b4565b61008e6100f03660046107c8565b6101ed565b34801561010157600080fd5b506100a561028a565b34801561011657600080fd5b5061008e6102a2565b34801561012b57600080fd5b50610134610346565b60405190151581526020016100b9565b61008e610152366004610767565b610377565b34801561016357600080fd5b5061008e610172366004610745565b610491565b61019561019060008051602061089e8339815191525490565b610535565b565b60006101af6000805160206108be8339815191525490565b905090565b6101bc610346565b6101e15760405162461bcd60e51b81526004016101d89061082b565b60405180910390fd5b6101ea81610559565b50565b6101f5610346565b6102115760405162461bcd60e51b81526004016101d89061082b565b61021a83610559565b6000836001600160a01b0316838360405161023692919061081b565b600060405180830381855af49150503d8060008114610271576040519150601f19603f3d011682016040523d82523d6000602084013e610276565b606091505b505090508061028457600080fd5b50505050565b60006101af60008051602061089e8339815191525490565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db546001600160a01b0316336001600160a01b03161461033d5760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b60648201526084016101d8565b61019533610599565b600061035e6000805160206108be8339815191525490565b6001600160a01b0316336001600160a01b031614905090565b61037f610346565b61039b5760405162461bcd60e51b81526004016101d89061082b565b60006103b360008051602061089e8339815191525490565b6001600160a01b0316146103c657600080fd5b6103f160017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610862565b60008051602061089e8339815191521461040d5761040d610887565b6104168461065a565b8015610488576000846001600160a01b0316838360405161043892919061081b565b600060405180830381855af49150503d8060008114610473576040519150601f19603f3d011682016040523d82523d6000602084013e610478565b606091505b505090508061048657600080fd5b505b61028483610599565b610499610346565b6104b55760405162461bcd60e51b81526004016101d89061082b565b6104dd817f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b806001600160a01b03166104fd6000805160206108be8339815191525490565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b3660008037600080366000845af43d6000803e808015610554573d6000f35b3d6000fd5b6105628161065a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105ef5760405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f72206973206164647265737328302900000000000060448201526064016101d8565b806001600160a01b031661060f6000805160206108be8339815191525490565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36101ea816000805160206108be83398151915255565b803b6106ce5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084016101d8565b60008051602061089e83398151915255565b80356001600160a01b03811681146106f757600080fd5b919050565b60008083601f84011261070e57600080fd5b50813567ffffffffffffffff81111561072657600080fd5b60208301915083602082850101111561073e57600080fd5b9250929050565b60006020828403121561075757600080fd5b610760826106e0565b9392505050565b6000806000806060858703121561077d57600080fd5b610786856106e0565b9350610794602086016106e0565b9250604085013567ffffffffffffffff8111156107b057600080fd5b6107bc878288016106fc565b95989497509550505050565b6000806000604084860312156107dd57600080fd5b6107e6846106e0565b9250602084013567ffffffffffffffff81111561080257600080fd5b61080e868287016106fc565b9497909650939450505050565b8183823760009101908152919050565b6020808252601a908201527f43616c6c6572206973206e6f742074686520476f7665726e6f72000000000000604082015260600190565b60008282101561088257634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4aa26469706673582212203019a79a43f7d4ec89620197adcc99852be5f4965adfb8a6bbb0ad3954812e2c64736f6c63430008070033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.