Contract 0x790a0cA839DC5E4690C8c58cb57fD2beCA419AFc

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xdac5fd27b74c1668c51bf03920af9329fba767cfcfa4e435640fcfca8db97777Swap Exact Amoun...364091462022-12-04 9:16:1913 hrs ago0x7e6eb2123463ca93bd0ef64bbcdde8db16d77c42 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.008926106814 34.210391058
0x390b011c4fef844e4d4e158297681bc66304c224d5587bf8f148a7e3f77e83f6Swap Exact Amoun...364045202022-12-04 6:28:4115 hrs 48 mins ago0x2754178a3ca7987eddf56e7b98e8084986748b00 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.009590430018 30.000000058
0x4874d6b48204da9ea55aa506c2346e81bb603f2633825a5c1e47a2f7e4295a9aSwap Exact Amoun...363417122022-12-02 16:49:072 days 5 hrs ago0xbb871d33ede62cb236ab7bd2b841011735769041 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.01692960
0x4eeb5acd9ac46f78528d98d8910e2ebe968c78ad68a25dbeda92f02723e54d78Swap Exact Amoun...362402732022-11-30 4:54:274 days 17 hrs ago0x7e6eb2123463ca93bd0ef64bbcdde8db16d77c42 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.00791377136 30.000043067
0x6ce2a653e5bc539334af3c5a2f4f8bfde2c4f87b91816cf0e02d7cf6e436d683Swap Exact Amoun...362181742022-11-29 15:36:325 days 6 hrs ago0x94692b042a0e36671952ff0b71e43d6e0d06845a IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.012225432441 30.205420332
0x1e7534eefaca1d3ec289319c105d4060cba029bcb93c737eea72be08cf50364cSwap Exact Amoun...361839402022-11-28 19:16:306 days 3 hrs ago0xd4f9fe0039da59e6ddb21bbb6e84e0c9e83d73ed IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.009340616811 32.031414814
0xf5afa3d5fb655a379c3d15b38ceeaaf3d4411d4978677daed5db9b1d8fac78d7Swap Exact Amoun...360856632022-11-26 9:38:388 days 12 hrs ago0xbc58d12bc5c88a00391927581ae28d0e4d54e9e0 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.009291450024 30.000000078
0xfd7cc8773b62df0e01110707dcff2657e8a8cf84b3e3afee81fe98dd59c4c5d8Swap Exact Amoun...359840162022-11-23 22:38:3610 days 23 hrs ago0x8f98f993bbcb1e08fc52f8b5b24f9174f0d26766 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.009396100005 31.000000017
0x20c954705dd48d076073f164a9053cbb6ed590ab4e163aa63c3568fa18348c52Swap Exact Amoun...357738042022-11-18 20:23:5016 days 1 hr ago0x1a32dc731b3461ec8811c7ce4a725b7881ff839f IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.008926442124 32.664566682
0x50d5a003e426bfba666b15c4e8aaba07974514916dbdab2b34d42e9dafc102feSwap Exact Amoun...357529182022-11-18 7:51:2916 days 14 hrs ago0x2754178a3ca7987eddf56e7b98e8084986748b00 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.009113856193 30.070000111
0x0acc32124f6fb2d092a3aea3bea1b0d25de60b387360935f4c1bb57bec8d1ef2Swap Exact Amoun...356472552022-11-15 18:19:1519 days 3 hrs ago0x47a372285eea19b815abc329f20af2637c845263 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.013603814149 33.930477361
0xd1b677e67f89e067825b0ffa252928073213cb76ea8069a77de090214a9e7fb2Swap Exact Amoun...356407342022-11-15 14:33:5219 days 7 hrs ago0x260edfea92898a3c918a80212e937e6033f8489e IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.01703000842 44.225057965
0xf8b251c1800409422f6b5887f147c6142de144d848f90fce81824ead44193419Swap Exact Amoun...356406702022-11-15 14:31:4019 days 7 hrs ago0x260edfea92898a3c918a80212e937e6033f8489e IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.017803310143 45.573207281
0xe8616ba2fd14a13e6ab4a85d4abdc63210a26f0bc89f12f5aa4a1b3b891111e2Swap Exact Amoun...355489572022-11-13 9:15:4321 days 13 hrs ago0x8cc92d4338f1d61faa41fe991bd1ebf02ea1de29 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.013080569797 37.887569761
0xa346ebc578d53b419249005b3511875cf665550bbf981db4839901a0ecf23e04Swap Exact Amoun...354370722022-11-10 12:30:5224 days 9 hrs ago0x12156d00d62d96771f5d8a33a5a19bf3d877ac6a IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.048312668686 166.398599885
0x7a1b0020a3bba14cb9be5e607ca780891f72e4258fede3dc0dd8641948775ec7Swap Exact Amoun...354369992022-11-10 12:28:2224 days 9 hrs ago0x12156d00d62d96771f5d8a33a5a19bf3d877ac6a IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.07414013073 247.095057541
0x317610c0f85adda1f5304c2820b5feeee6bf68870f1e1ab1c452fc89a95ea61cSwap Exact Amoun...354306702022-11-10 8:48:3824 days 13 hrs ago0x1395de9daec52ad405e945603ea0a9346d00d01c IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.035824564118
0x4cee21d820af20198ddb2245427ebd96c7bd3cd35830edad650c9c990957c085Swap Exact Amoun...354306232022-11-10 8:47:0024 days 13 hrs ago0x1395de9daec52ad405e945603ea0a9346d00d01c IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.03005290492
0x405ac9c8014a2296ea4fe4b6357c2e20d4779a3fa02cd1e7c51e6ea24d0b5d95Swap Exact Amoun...354299032022-11-10 8:22:1624 days 13 hrs ago0x5e82a334cd5d8eb0ba6f2c5bf0e41beae591ad05 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.06637932212
0xfd929c6e30fabe223d85333623d3c377268449023542dc3ded6838bd71151f29Swap Exact Amoun...353858122022-11-09 6:43:4925 days 15 hrs ago0xdf08dfb2752c2bf55facc363f1568d4cf9606110 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.01929155871.5
0x836dea90e474f211d9fcd235d6c98b389ac1556dd40dcdd1fa9487e2a736d322Swap Exact Amoun...353812522022-11-09 4:00:1925 days 18 hrs ago0xdf08dfb2752c2bf55facc363f1568d4cf9606110 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.02018948679474.827979462
0x0b28820917cc4857b8112c365c1f69052f328cd2b3933f33072112a7c501fffbSwap Exact Amoun...353754212022-11-09 0:39:3725 days 21 hrs ago0x2754178a3ca7987eddf56e7b98e8084986748b00 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.046675213441 166.578206428
0x4847e165eeb260911dec94a0aef6c0e4d14c60c444cb2f94ff81e60510ef1d22Swap Exact Amoun...353473812022-11-08 8:18:1026 days 13 hrs ago0xa7cc8da2a472612aeb25218a4fb9d995fa3472a6 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.059850582244 208.526988895
0x43d25fb26cb79137291f1e28d789fda6298b95b98ad1faf087f86dfce84a0df3Swap Exact Amoun...352709782022-11-06 11:40:5328 days 10 hrs ago0x134d8ee0ae4cb7483fd9e67281722b416ad47bee IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.070951267466 204.325069667
0x9217676fc97c4a80b4da9f960bf47edfe27f4e7fa6fc96f2161a4c36aa9d238cSwap Exact Amoun...352300062022-11-05 11:49:1729 days 10 hrs ago0xa426bfdda22814a691fabcb44dcbe696b0fd16d8 IN  0x790a0ca839dc5e4690c8c58cb57fd2beca419afc0 MATIC0.032532046749 79.999524777
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

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

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2021-06-11
*/

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.2 <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;
        // solhint-disable-next-line no-inline-assembly
        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");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (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");

        // solhint-disable-next-line avoid-low-level-calls
        (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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private 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

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

pragma solidity ^0.6.0;

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
abstract contract Proxy {
  /**
   * @dev Fallback function.
   * Implemented entirely in `_fallback`.
   */
  fallback () payable external {
    _fallback();
  }

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

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal virtual view returns (address);

  /**
   * @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 implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    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 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 virtual {
  }

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

pragma solidity ^0.6.0;

/**
 * @title UpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract UpgradeabilityProxy is Proxy {
  /**
   * @dev Contract constructor.
   * @param _logic Address of the initial implementation.
   * @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.
   */
  constructor(address _logic, bytes memory _data) public payable {
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if(_data.length > 0) {
      (bool success,) = _logic.delegatecall(_data);
      require(success);
    }
  }  

  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  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 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /**
   * @dev Returns the current implementation.
   * @return impl Address of the current implementation
   */
  function _implementation() internal override view returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    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;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}

pragma solidity ^0.6.0;

/**
 * @title AdminUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract AdminUpgradeabilityProxy is UpgradeabilityProxy {
  /**
   * Contract constructor.
   * @param _logic address of the initial implementation.
   * @param _admin Address of the proxy administrator.
   * @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.
   */
  constructor(address _logic, address _admin, bytes memory _data) UpgradeabilityProxy(_logic, _data) public payable {
    assert(ADMIN_SLOT == bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1));
    _setAdmin(_admin);
  }

  /**
   * @dev Emitted when the administration has been transferred.
   * @param previousAdmin Address of the previous admin.
   * @param newAdmin Address of the new admin.
   */
  event AdminChanged(address previousAdmin, address newAdmin);

  /**
   * @dev Storage slot with the admin of the contract.
   * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
   * validated in the constructor.
   */

  bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

  /**
   * @dev Modifier to check whether the `msg.sender` is the admin.
   * If it is, it will run the function. Otherwise, it will delegate the call
   * to the implementation.
   */
  modifier ifAdmin() {
    if (msg.sender == _admin()) {
      _;
    } else {
      _fallback();
    }
  }

  /**
   * @return The address of the proxy admin.
   */
  function admin() external ifAdmin returns (address) {
    return _admin();
  }

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

  /**
   * @dev Changes the admin of the proxy.
   * Only the current admin can call this function.
   * @param newAdmin Address to transfer proxy administration to.
   */
  function changeAdmin(address newAdmin) external ifAdmin {
    require(newAdmin != address(0), "Cannot change the admin of a proxy to the zero address");
    emit AdminChanged(_admin(), newAdmin);
    _setAdmin(newAdmin);
  }

  /**
   * @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 ifAdmin {
    _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) payable external ifAdmin {
    _upgradeTo(newImplementation);
    (bool success,) = newImplementation.delegatecall(data);
    require(success);
  }

  /**
   * @return adm The admin slot.
   */
  function _admin() internal view returns (address adm) {
    bytes32 slot = ADMIN_SLOT;
    assembly {
      adm := sload(slot)
    }
  }

  /**
   * @dev Sets the address of the proxy admin.
   * @param newAdmin Address of the new proxy admin.
   */
  function _setAdmin(address newAdmin) internal {
    bytes32 slot = ADMIN_SLOT;

    assembly {
      sstore(slot, newAdmin)
    }
  }

  /**
   * @dev Only fall back when the sender is not the admin.
   */
  function _willFallback() internal override virtual {
    require(msg.sender != _admin(), "Cannot call fallback function from the proxy admin");
    super._willFallback();
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","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":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"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"},{"stateMutability":"payable","type":"receive"}]

60806040526040516109943803806109948339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061093983398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190206000805160206109198339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b5050506102dd565b610278816102d760201b6103b41760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b815260200180610959603b913960400191505060405180910390fd5b60008051602061093983398151915255565b60008051602061091983398151915255565b3b151590565b61062d806102ec6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212206e221e2a3547bd97244b05ed46430b1b078ba097cb2a4e25ec3d79cf9ac9f02c64736f6c63430006080033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000000000000000005a04e99dd725e07410945803525dcf482aad2dfe000000000000000000000000063c8a3025816f273786b472aebdf1e6db95448b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4ab963703000000000000000000000000d9e1e4e4ab2302d93f4da718edac078187cba653000000000000000000000000f9864698e01c17e0b426e4c9eb427e095a7ad1cf000000000000000000000000850c6c2462da04f5d4f9153e494b7ea3d60026bd0000000000000000000000004190b90d7fbef505c615dcc9e54a080745114a420000000000000000000000006f3644539954612903b01001b2bf8edf7ad6736a000000000000000000000000e014db7188676f704f70467bf2e4b9d1df265dc400000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

12375:4220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7627:11;:9;:11::i;:::-;12375:4220;;7483:11;:9;:11::i;15021:105::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15021:105:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15021:105:0;-1:-1:-1;;;;;15021:105:0;;:::i;15654:225::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;15654:225:0;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;15654:225:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;15654:225:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;15654:225:0;;-1:-1:-1;15654:225:0;-1:-1:-1;15654:225:0;:::i;14321:98::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14321:98:0;;;:::i;:::-;;;;-1:-1:-1;;;;;14321:98:0;;;;;;;;;;;;;;14602:228;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14602:228:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14602:228:0;-1:-1:-1;;;;;14602:228:0;;:::i;14172:80::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14172:80:0;;;:::i;9201:93::-;9238:15;:13;:15::i;:::-;9260:28;9270:17;:15;:17::i;:::-;9260:9;:28::i;:::-;9201:93::o;15021:105::-;14039:8;:6;:8::i;:::-;-1:-1:-1;;;;;14025:22:0;:10;-1:-1:-1;;;;;14025:22:0;;14021:80;;;15091:29:::1;15102:17;15091:10;:29::i;:::-;14021:80:::0;;;14082:11;:9;:11::i;:::-;15021:105;:::o;15654:225::-;14039:8;:6;:8::i;:::-;-1:-1:-1;;;;;14025:22:0;:10;-1:-1:-1;;;;;14025:22:0;;14021:80;;;15760:29:::1;15771:17;15760:10;:29::i;:::-;15797:12;15814:17;-1:-1:-1::0;;;;;15814:30:0::1;15845:4;;15814:36;;;;;30:3:-1;22:6;14;1:33;15814:36:0;::::0;45:16:-1;::::1;::::0;-1:-1;15814:36:0::1;::::0;-1:-1:-1;15814:36:0;;-1:-1:-1;;15814:36:0;;::::1;::::0;;::::1;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;15796:54:0;;;15865:7;15857:16;;12:1:-1;9::::0;2:12:::1;15857:16:0;14058:1;14021:80:::0;;;14082:11;:9;:11::i;:::-;15654:225;;;:::o;14321:98::-;14373:7;14039:8;:6;:8::i;:::-;-1:-1:-1;;;;;14025:22:0;:10;-1:-1:-1;;;;;14025:22:0;;14021:80;;;14396:17:::1;:15;:17::i;:::-;14389:24;;14021:80:::0;;;14082:11;:9;:11::i;:::-;14321:98;:::o;14602:228::-;14039:8;:6;:8::i;:::-;-1:-1:-1;;;;;14025:22:0;:10;-1:-1:-1;;;;;14025:22:0;;14021:80;;;-1:-1:-1;;;;;14673:22:0;::::1;14665:89;;;;-1:-1:-1::0;;;14665:89:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14766:32;14779:8;:6;:8::i;:::-;14766:32;::::0;;-1:-1:-1;;;;;14766:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;14805:19;14815:8;14805:9;:19::i;14172:80::-:0;14215:7;14039:8;:6;:8::i;:::-;-1:-1:-1;;;;;14025:22:0;:10;-1:-1:-1;;;;;14025:22:0;;14021:80;;;14238:8:::1;:6;:8::i;751:422::-:0;1118:20;1157:8;;;751:422::o;16415:177::-;16495:8;:6;:8::i;:::-;-1:-1:-1;;;;;16481:22:0;:10;-1:-1:-1;;;;;16481:22:0;;;16473:85;;;;-1:-1:-1;;;16473:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16565:21;:19;:21::i;11082:170::-;10891:66;11229:11;;11212:35::o;8074:762::-;8381:14;8378:1;8375;8362:34;8581:1;8578;8562:14;8559:1;8543:14;8536:5;8523:60;8648:16;8645:1;8642;8627:38;8682:6;8739:38;;;;8805:16;8802:1;8795:27;8739:38;8758:16;8755:1;8748:27;15933:141;13732:66;16051:11;;16035:34::o;11393:145::-;11456:37;11475:17;11456:18;:37::i;:::-;11505:27;;-1:-1:-1;;;;;11505:27:0;;;;;;;;11393:145;:::o;16196:139::-;13732:66;16301:22;16292:38::o;11681:293::-;11760:37;11779:17;11760:18;:37::i;:::-;11752:109;;;;-1:-1:-1;;;11752:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10891:66;11931:31;11922:47::o

Swarm Source

ipfs://6e221e2a3547bd97244b05ed46430b1b078ba097cb2a4e25ec3d79cf9ac9f02c
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.