Contract 0x4dd1514c8ef880095ac16332ff046d0dc2c962aa

Tetu 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x102dfafc99d2252548ea40c648ea7bb3afcdf8618e6b5a7a8e21641bc32d7aaeDistribute295633462022-01-31 8:15:45110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.6602769
0xcc85a3ec52bb56bc5ecfcc8928eb14d5da231a4e3fd6a6d1889af29ea157a534Distribute295632962022-01-31 8:14:44110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.6602769
0x85e90447f070f9889fe442ed58a5499cf23f451efd9aad6a5754c9a534a8275aDistribute295632452022-01-31 8:14:07110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.6602769
0xe68d41392ea9093cf670550f52853f1f2910f6c1b566e3d6ff7c34470bbe3a7eDistribute295632142022-01-31 8:13:42110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.7706034
0x6b72cf13765da0db86d0f29977e17eab0e51687cb38d036aee05ff7a3c859a47Distribute295631542022-01-31 8:12:42110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.88093575
0xb1cc31e36b47ce145e520cb679643e82c9c4bfa4429cd677cb383b9f1f1d386eDistribute295631152022-01-31 8:12:14110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM1.0034235
0x842220eef7b549aeac88b853d72f5ac3af5d9313f4c666610d899eaad9763127Store Info295630642022-01-31 8:11:36110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.56963295
0x31b1dfbb2b180ba07836442b56b3b240c9b865667d385dec91808c21146acf38Store Info295630292022-01-31 8:11:09110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.5141196
0x74bf3d4be9013b2143cfa7194151c35fb1e8de83894b6ff8b84b2afba3ca801eStore Info295629852022-01-31 8:10:25110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47534895
0x8470ac368bcd8a83b19014d8c77a9ce0bf735bb5f835462a9f2612402b1d5731Store Info295629532022-01-31 8:09:58110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47534445
0x5826ad6662df06415fd67fea148902204d9c104a04429c8a8f70eab2f429f253Store Info295629372022-01-31 8:09:42110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47534895
0x0bf70e07f56578072de78990e179692595faf322f04e8cc754e410cfdccdae9dStore Info295628962022-01-31 8:09:09110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47534895
0x57038b431d472cb1a2ec346dc42a704746b13c6fcdb8fd5d5d35ba12f35b7b7eStore Info295628552022-01-31 8:08:34110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47535885
0x17ed09faa1ea8817a437fcab77de117019951e0e06fe8f838ee18e9d6a53cb18Store Info295628252022-01-31 8:08:10110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47532465
0x392f3cc5b0f9f5393ef6b3f0083f49cc04aa8c494778dffeac83ff2595ef54b2Store Info295627992022-01-31 8:07:45110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47532465
0xc5baded3322cbeb1281f53b423ab262cf6a259a410edcdc3c3566bc6fec88b20Store Info295627662022-01-31 8:07:19110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.47532465
0x603dc85b46ebf459f219cb3f3e87a1ad6274f5ddd6be6e982057401ea0d6d013Store Info295627282022-01-31 8:06:53110 days 10 hrs ago0x424198579844b0d6f13c3a6b83b9cf987af9c545 IN  Tetu: Auto Rewarder0 FTM0.4753296
0x439cb955723ee09ad6c6102f4949159e36050cc44ea4d3041191e8dcb4e9097dDistribute293796412022-01-29 11:59:18112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM0.4526199
0xf8a490bbe4e0ea967c286f951f8c1f1df2ab10478eb242cf892644f66dc5a8e9Distribute293795982022-01-29 11:58:44112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM1.45922445
0x2fde52d481ec836f0a579a3dbe94f102f551d6306bb3d3cd433b5879cbd0f0deDistribute293795542022-01-29 11:58:09112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM1.45922445
0x4516906ecefb74af1d5647192d036c315eb578b40d01f5e750c331d076ba22f4Distribute293795182022-01-29 11:57:35112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM1.45922445
0x12181ca3c258c2b174caaf4bbec19ac38f3eca075de664d9adc85b06010ac9e0Distribute293794762022-01-29 11:56:56112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM1.0917198
0xb8bcb372efb73dd9b1ae79cfb3d34659e0fb890d8aae918a8e0947d21dcde7c4Distribute293794202022-01-29 11:56:13112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM0.9912915
0x798df4c9fd6034897e6d05657efb682022bcf4f0d3933bb85864e00800e6f677Distribute293793682022-01-29 11:55:32112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM0.7706034
0x7fe342716ef70c76194e3ab357801c500add752053ca41412262e5ee21940b5dDistribute293793232022-01-29 11:54:55112 days 6 hrs agoTetu: Deployer IN  Tetu: Auto Rewarder0 FTM0.6602769
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x8c1027968ea62fed85afe70d7f2c7826ecb54986f2fccdd5afb11c1eb1e28297225977082021-11-20 10:51:09182 days 7 hrs ago Tetu: Deployer  Contract Creation0 FTM
[ Download CSV Export 
Loading

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

Contract Name:
TetuProxyGov

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 150 runs

Other Settings:
default evmVersion
File 1 of 6 : TetuProxyGov.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

import "../base/interface/IControllable.sol";
import "./UpgradeableProxy.sol";
import "./interface/ITetuProxy.sol";

/// @title EIP1967 Upgradable proxy implementation.
/// @dev Only Governance Wallet has access.
///      This Proxy should be used for non critical contracts only!
/// @author belbix
contract TetuProxyGov is UpgradeableProxy, ITetuProxy {

  constructor(address _logic) UpgradeableProxy(_logic) {
  }

  /// @notice Upgrade contract logic
  /// @dev Upgrade allowed only for Governance. No time-lock period
  /// @param _newImplementation Implementation address
  function upgrade(address _newImplementation) external override {
    require(IControllable(address(this)).isGovernance(msg.sender), "forbidden");
    _upgradeTo(_newImplementation);

    // the new contract must have the same ABI and you must have the power to change it again
    require(IControllable(address(this)).isGovernance(msg.sender), "wrong impl");
  }

  /// @notice Return current logic implementation
  function implementation() external override view returns (address) {
    return _implementation();
  }
}

File 2 of 6 : IControllable.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

interface IControllable {

  function isController(address _contract) external view returns (bool);

  function isGovernance(address _contract) external view returns (bool);
}

File 3 of 6 : UpgradeableProxy.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

import "@openzeppelin/contracts/proxy/Proxy.sol";
import "@openzeppelin/contracts/utils/Address.sol";


/// @title OpenZeppelin https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/proxy/UpgradeableProxy.sol
/// @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
///      implementation address that can be changed. This address is stored in storage in the location specified by
///      https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
///      implementation behind the proxy.
///      Upgradeability is only provided internally through {_upgradeTo}. For an externally upgradeable proxy see
///      {TransparentUpgradeableProxy}.
abstract contract UpgradeableProxy is Proxy {

  /// @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.
  ///      If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded
  ///      function call, and allows initializating the storage of the proxy like a Solidity constructor.
  constructor(address _logic) payable {
    assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
    _setImplementation(_logic);
  }

  /// @dev Emitted when the implementation is upgraded.
  event Upgraded(address indexed 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 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /// @dev Returns the current implementation address.
  function _implementation() internal view virtual override 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.
  ///      Emits an {Upgraded} event.
  function _upgradeTo(address newImplementation) internal virtual {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /// @dev Stores a new address in the EIP1967 implementation slot.
  function _setImplementation(address newImplementation) private {
    require(Address.isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract");

    bytes32 slot = _IMPLEMENTATION_SLOT;

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

File 4 of 6 : ITetuProxy.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

interface ITetuProxy {

  function upgrade(address _newImplementation) external;

  function implementation() external returns (address);

}

File 5 of 6 : Proxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 *
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 *
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        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(), implementation, 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 This is a virtual function that should be overriden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal view virtual returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable virtual {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive() external payable virtual {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     *
     * If overriden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {}
}

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060405161058938038061058983398101604081905261002f91610136565b8061005b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610164565b6000805160206105698339815191521461008557634e487b7160e01b600052600160045260246000fd5b61008e81610095565b5050610187565b6100a88161013060201b6102541760201c565b61011e5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e746160448201527f74696f6e206973206e6f74206120636f6e747261637400000000000000000000606482015260840160405180910390fd5b60008051602061056983398151915255565b3b151590565b600060208284031215610147578081fd5b81516001600160a01b038116811461015d578182fd5b9392505050565b60008282101561018257634e487b7160e01b81526011600452602481fd5b500390565b6103d3806101966000396000f3fe60806040526004361061002d5760003560e01c80630900f010146100445780635c60da1b146100645761003c565b3661003c5761003a610095565b005b61003a610095565b34801561005057600080fd5b5061003a61005f36600461034f565b6100c7565b34801561007057600080fd5b50610079610225565b6040516001600160a01b03909116815260200160405180910390f35b6100c56100c07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61025a565b565b6040516337b87c3960e21b8152336004820152309063dee1f0e49060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610135919061037d565b6101725760405162461bcd60e51b81526020600482015260096024820152683337b93134b23232b760b91b60448201526064015b60405180910390fd5b61017b8161027e565b6040516337b87c3960e21b8152336004820152309063dee1f0e49060240160206040518083038186803b1580156101b157600080fd5b505afa1580156101c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061037d565b6102225760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81a5b5c1b60b21b6044820152606401610169565b50565b600061024f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3b151590565b3660008037600080366000845af43d6000803e808015610279573d6000f35b3d6000fd5b610287816102be565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b61032b5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e74616044820152751d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd60521b6064820152608401610169565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b600060208284031215610360578081fd5b81356001600160a01b0381168114610376578182fd5b9392505050565b60006020828403121561038e578081fd5b81518015158114610376578182fdfea26469706673582212201374711730993978d4e82d625ca1719ca21cd3cb605c6e5a55f8ba6c8bde565564736f6c63430008040033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc00000000000000000000000013d862a01d0ab241509a2e47e31d0db04e9b9f49

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.