Contract 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 6

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x4380fa3432ad1535b60bf4caaa513b21271bb54c32d2e2f2244fa2a4ba8e05530x90411a32221746232021-12-05 19:19:4213 mins ago0x03c5c835b457a754d82a5aa92f684743edc9b4df IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.0280581
0x7ca57e2446efbaaa635b0c5dc9fc1cf6c7ffead0fe7898cfc204ae27d08dc1f80x90411a32221745652021-12-05 19:17:4215 mins ago0x7fb38b567d4c89523327a0353f54b26f5e4a92f4 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.00868218
0xfdc0a5026c5b83737850d8ec2125410eb9bc7116019d305df30fd2acc82c17ba0x90411a32221744192021-12-05 19:12:4220 mins ago0x1e125f7d4bbda1a6d01d33dab46d2f539ea04530 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.01812285
0xccc6f507f0713432979957e2acc2a10a2d826e45dd733a029a637c5a0a24a1730x90411a32221742612021-12-05 19:07:1425 mins ago0xe9680162e8e611f5a1ae8223c98e2fd21522f761 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e64500 MATIC0.0325612
0x226816543105624c7e84b3200aaef8ee3b1b271c07ef466cc42aa44bbf72de510x90411a32221716952021-12-05 17:29:242 hrs 3 mins ago0x1512e5e8d8e95306224141d21e62fa38fb0bb1aa IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.01792905
0x04fa01204cc5ca1568e66c5b44a28f84419f8674d207b55b5c15450abb11edc50x90411a32221714072021-12-05 17:15:162 hrs 17 mins ago0xffa5152714daa049a674d64e2838e6196feb5a75 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.007612995
0x6f12f3bfb9e9566747345f4423aac74bfdff69e42dfea1bf17602854610448420x90411a32221712792021-12-05 17:10:522 hrs 21 mins ago0xf3b5bf03fb23a33b3e1e7ad9fde4a77584f63ebb IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.016800588
0x681ea5aae40803de145d9ce292ac506f1aeaa4ae81f7d3b926f7afee82e060ea0x90411a32221712072021-12-05 17:08:242 hrs 24 mins ago0xffa5152714daa049a674d64e2838e6196feb5a75 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.011699688
0x15b62602a87eb71773d326756981ddf2f81d99f123c746a835b2cbf5992c972e0x90411a32221707112021-12-05 16:49:122 hrs 43 mins ago0x21f0a38060e408c5638f73f8b23cdae785a977ad IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.00709542
0x8957263e70689e996220957e0733440c533ab2ddf529bd0765fb1298e5d5ddee0x90411a32221703612021-12-05 16:37:082 hrs 55 mins ago0x1e125f7d4bbda1a6d01d33dab46d2f539ea04530 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e6417 MATIC0.01773185
0xedcd6941e5fbe1e50450bf2be8cd544867058382d9825cf87fea907b7fdc54b80x90411a32221700422021-12-05 16:25:403 hrs 7 mins ago0xf1f0f435551f1be0b6698aec3f0739bf1d7e4e33 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.0076135
0x089676b45151d24bc31250d4a5001e11b4ed2c32665552641c93d0cf72526eea0x90411a32221700362021-12-05 16:24:523 hrs 7 mins ago0x737c5ba219701225731e249e1b750633ea3317bc IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.007346458333
0xd7379d9a5a7452724ac6d70fac9a7f095557a6a8cf521d45fcb0ba1e4a0f21050x90411a32221700022021-12-05 16:20:203 hrs 12 mins ago0xf1f0f435551f1be0b6698aec3f0739bf1d7e4e33 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.0064972
0x6830dbed8c238934875cde6cff46aafc7ad27567c67fc4512d6069d5399365af0x90411a32221690002021-12-05 15:38:203 hrs 54 mins ago0xc2bc7e629d3efebf183ae3a0834fe4f5365d51ec IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e6444,537.610508475653336 MATIC0.00201045
0x24f8fb06cc86c6b7d29422cef85a3de549caec531860ae51412ff7b88504b7b40x90411a32221674252021-12-05 14:37:504 hrs 54 mins ago0xfb3f69472d3273167e9a0f397bbe237f1f1b2e12 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.019807203
0x1854fb6c0a7d67f282cdb9a1e122893c3dafc74b151208e301f166292c0140ad0x90411a32221674092021-12-05 14:37:144 hrs 55 mins ago0xfb3f69472d3273167e9a0f397bbe237f1f1b2e12 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.010973664
0x176d9653d112428866b21bc0915db9d1c0395344057fce49a910247c6c2842150x90411a32221673902021-12-05 14:36:364 hrs 56 mins ago0xfb3f69472d3273167e9a0f397bbe237f1f1b2e12 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.010973664
0x287d8242f711bae8776eb4da8746ee6e90fad9384303a2aef89dd1b0f94beef30x90411a32221662722021-12-05 13:49:405 hrs 43 mins ago0x856d569ed696a3624eb60583da49001a935961c1 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.01136
0xb5e1dcf799093448cd4b7de44ec4a0ad040fcdded462c4fad027897c4a2e6bf50x90411a32221661432021-12-05 13:45:105 hrs 47 mins ago0x537eea739fa76e3fbd55f51e292f45cba5ecfec0 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e6449 MATIC0.010541355
0xdaff6038da36d4a498d406147fceef43c00e45478acaacf0c70aa15db2a8e15a0x90411a32221649512021-12-05 12:59:586 hrs 32 mins ago0xf03491b2b5099a23034b96c76094eb450012a290 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.004768104
0xc0f00e22d57467d3e7870a9876dcb53338c1973811b940df504f94bf2a11247c0x90411a32221647452021-12-05 12:50:466 hrs 41 mins ago0xf03491b2b5099a23034b96c76094eb450012a290 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.005635968
0x5f5d99bacb779e9d5fe28738f664e34ada3da995bfdfcc98ffcfd86976c9464d0x90411a32221645602021-12-05 12:42:166 hrs 50 mins ago0x07faa0594e8ff9cd431ba1e3aebc1976c1dfc1eb IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.006835176
0x9c1e1f2644098ba767964dc11a7d94cc86a7ad8f1872a6d8f351364bf2e02b790x90411a32221644382021-12-05 12:38:046 hrs 54 mins ago0x090cc8ab4650f371111078c3d836cb93c14b964c IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.006969583333
0x9d95687b7f61646b5bacbc9dbab5e66cbbf5710082ca096a6e3279c0ea38bb270x90411a32221643072021-12-05 12:33:346 hrs 59 mins ago0xf03491b2b5099a23034b96c76094eb450012a290 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.021112611
0xc9839d0a856316f5a2d66060a629191d4021b6e3128d3ffffbc496f6af3679db0x90411a32221642692021-12-05 12:32:147 hrs ago0x44a2014735f700504212916185e9a0238201c9d3 IN  0x6352a56caadc4f1e25cd6c75970fa768a3304e640 MATIC0.02693315
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xccc6f507f0713432979957e2acc2a10a2d826e45dd733a029a637c5a0a24a173221742612021-12-05 19:07:1425 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b500 MATIC
0x8957263e70689e996220957e0733440c533ab2ddf529bd0765fb1298e5d5ddee221703612021-12-05 16:37:082 hrs 55 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b17 MATIC
0xb5e1dcf799093448cd4b7de44ec4a0ad040fcdded462c4fad027897c4a2e6bf5221661432021-12-05 13:45:105 hrs 47 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b49 MATIC
0x88465d5554576ec4f94adb8f2ffdad91c134a0635d80293bb6c3f3b72e765494221600332021-12-05 9:38:309 hrs 54 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b260 MATIC
0xf60da13c6d9d5ea6a76138cda1e6a47abf718b411df60ff10e614c73fd3e03d1221599462021-12-05 9:35:329 hrs 57 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b260 MATIC
0xb7832585984c5b44c6d3771521f8da5436693a92f023da3a634c82276a5e0d26221594202021-12-05 9:12:4510 hrs 20 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b8 MATIC
0x3d5250971aece0ff1db77cfb8f589fbef7d7fbdceba49510b60f8fd61395ec9c221593902021-12-05 9:11:4510 hrs 21 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b8.459473 MATIC
0x6c2526d3aab0b2772e4a9e0cdc0aa3e6dd476526c86113839aa28e12f7cea0bd221592752021-12-05 9:07:0710 hrs 25 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b9.3 MATIC
0x90ec8259a22a48299452654f874e0089a20af7ff323590f522d7ea5e5f8743fc221579512021-12-05 8:15:5111 hrs 16 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b8.504387 MATIC
0x662596013f6b8751d3907d7f5cbf4f4a8ecd7f973e3cf73d60e9f8a14d2947cb221578962021-12-05 8:14:0111 hrs 18 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b9 MATIC
0x6b67bac8ca7af75fdfc9cec908a8e705e970461d2357621086400d314666185c221578282021-12-05 8:11:4111 hrs 21 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b9 MATIC
0x8e9c3f348ceb6ab37bbfde7c31ff22c046ea18d9d694b011da96c053d4eed294221578092021-12-05 8:10:5911 hrs 21 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b9 MATIC
0x56eeda84163c07e707c17bcc6a319925cb658cee99d9b42fa5c0bde5016f3c8d221555482021-12-05 6:49:0112 hrs 43 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b253 MATIC
0x12b1e5c1ab24b9da03ea122baaee7669acbc462bcb0ef9dedaf5ac70b37ee702221532712021-12-05 5:26:2714 hrs 6 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b52 MATIC
0x790eb49e557ad80f3d536ab776f90165b93e6f0bb30c732002eb11899e02eaac221455712021-12-05 0:51:0118 hrs 41 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b7 MATIC
0xfc2497e69f11eb0032b9a0f3bcda4dfa88ca2f94911adb88345605255db68580221441962021-12-05 0:03:4519 hrs 29 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b22 MATIC
0x40a7fb94647751c597ea28bddbebce74ec1d5bd3d425971381918174155bc187221441372021-12-05 0:01:4319 hrs 31 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b22 MATIC
0xc0efd077afcc2bb725a1dadfb11beab147198319102a5ea4c9562d2d119b0331221428042021-12-04 23:15:5120 hrs 16 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b20 MATIC
0x7bec40c82705f4d086cc786571874a77b14d18977b15537d548420d1b3d1825b221427642021-12-04 23:13:4920 hrs 18 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b22 MATIC
0x9db5f580c3ab65dd404a1c58f76c020cb2c3aee270433a907fc2f09d62a1395f221393542021-12-04 21:10:0822 hrs 22 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b85 MATIC
0x343d5fb3d482ed39177f0f88a530167ecc10d1555813705fb32c01734bd03796221352332021-12-04 18:46:031 day 46 mins ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b3 MATIC
0x04a1e6f6cf5085697fe6862a4320e4ac77d39eebd87521a0f8e458b2e29db17e221326942021-12-04 17:15:301 day 2 hrs ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b2,602.2039 MATIC
0xc57ccc7544325a1e95d160388e235629733bfcd99624db7053c2a97e3db45e53221292962021-12-04 15:07:111 day 4 hrs ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b0.004 MATIC
0x810ca5bf7359846e89c5659e24f5f736ce22aaafe3c5a63bad20723b08126ff5221240832021-12-04 11:43:521 day 7 hrs ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b90 MATIC
0x80c6bf5fbe0a86df922a41f2b2a999abcf3c637e1d77082fbd4655988f14325b221233952021-12-04 11:20:141 day 8 hrs ago 0x6352a56caadc4f1e25cd6c75970fa768a3304e64 0x6dd434082eab5cd134b33719ec1ff05fe985b97b29.8906 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OpenOceanExchangeProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

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

// File: @openzeppelin/contracts/proxy/Proxy.sol

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <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 {
        // 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(), 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: @openzeppelin/contracts/utils/Address.sol

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

    /**
     * @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");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.delegatecall(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);
            }
        }
    }
}

// File: @openzeppelin/contracts/proxy/UpgradeableProxy.sol

pragma solidity >=0.6.0 <0.8.0;

/**
 * @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}.
 */
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, bytes memory _data) public payable {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
        _setImplementation(_logic);
        if (_data.length > 0) {
            Address.functionDelegateCall(_logic, _data);
        }
    }

    /**
     * @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: @openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev This contract implements a proxy that is upgradeable by an admin.
 *
 * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
 * clashing], which can potentially be used in an attack, this contract uses the
 * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
 * things that go hand in hand:
 *
 * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
 * that call matches one of the admin functions exposed by the proxy itself.
 * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the
 * implementation. If the admin tries to call a function on the implementation it will fail with an error that says
 * "admin cannot fallback to proxy target".
 *
 * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing
 * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due
 * to sudden errors when trying to call a function from the proxy implementation.
 *
 * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,
 * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.
 */
contract TransparentUpgradeableProxy is UpgradeableProxy {
    /**
     * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
     * optionally initialized with `_data` as explained in {UpgradeableProxy-constructor}.
     */
    constructor(
        address _logic,
        address admin_,
        bytes memory _data
    ) public payable UpgradeableProxy(_logic, _data) {
        assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
        _setAdmin(admin_);
    }

    /**
     * @dev Emitted when the admin account has changed.
     */
    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 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
     * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin.
     */
    modifier ifAdmin() {
        if (msg.sender == _admin()) {
            _;
        } else {
            _fallback();
        }
    }

    /**
     * @dev Returns the current admin.
     *
     * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.
     *
     * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
     * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
     * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
     */
    function admin() external ifAdmin returns (address admin_) {
        admin_ = _admin();
    }

    /**
     * @dev Returns the current implementation.
     *
     * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.
     *
     * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
     * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
     * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
     */
    function implementation() external ifAdmin returns (address implementation_) {
        implementation_ = _implementation();
    }

    /**
     * @dev Changes the admin of the proxy.
     *
     * Emits an {AdminChanged} event.
     *
     * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.
     */
    function changeAdmin(address newAdmin) external virtual ifAdmin {
        require(newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address");
        emit AdminChanged(_admin(), newAdmin);
        _setAdmin(newAdmin);
    }

    /**
     * @dev Upgrade the implementation of the proxy.
     *
     * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.
     */
    function upgradeTo(address newImplementation) external virtual ifAdmin {
        _upgradeTo(newImplementation);
    }

    /**
     * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified
     * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the
     * proxied contract.
     *
     * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.
     */
    function upgradeToAndCall(address newImplementation, bytes calldata data) external payable virtual ifAdmin {
        _upgradeTo(newImplementation);
        Address.functionDelegateCall(newImplementation, data);
    }

    /**
     * @dev Returns the current admin.
     */
    function _admin() internal view virtual returns (address adm) {
        bytes32 slot = _ADMIN_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            adm := sload(slot)
        }
    }

    /**
     * @dev Stores a new address in the EIP1967 admin slot.
     */
    function _setAdmin(address newAdmin) private {
        bytes32 slot = _ADMIN_SLOT;

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

    /**
     * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.
     */
    function _beforeFallback() internal virtual override {
        require(msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target");
        super._beforeFallback();
    }
}

// File: contracts/OpenOceanExchangeProxy.sol

pragma solidity ^0.6.12;

contract OpenOceanExchangeProxy is TransparentUpgradeableProxy {
    constructor(
        address logic,
        address admin,
        bytes memory data
    ) public TransparentUpgradeableProxy(logic, admin, data) {}
}

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":"nonpayable","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":"admin_","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":"implementation_","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"}]

60806040523480156200001157600080fd5b5060405162000c9238038062000c92833981810160405260608110156200003757600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006357600080fd5b9083019060208201858111156200007957600080fd5b82516401000000008111828201881017156200009457600080fd5b82525081516020918201929091019080838360005b83811015620000c3578181015183820152602001620000a9565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052508491508390508282816200010a826200014b565b8051156200012b57620001298282620001c260201b620003841760201c565b505b50620001349050565b6200013f82620001f1565b505050505050620003d3565b62000161816200021560201b620003b01760201c565b6200019e5760405162461bcd60e51b815260040180806020018281038252603681526020018062000c366036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6060620001ea838360405180606001604052806027815260200162000c0f602791396200021b565b9392505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b6060620002288462000215565b620002655760405162461bcd60e51b815260040180806020018281038252602681526020018062000c6c6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b60208310620002a55780518252601f19909201916020918201910162000284565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811462000307576040519150601f19603f3d011682016040523d82523d6000602084013e6200030c565b606091505b5090925090506200031f82828662000329565b9695505050505050565b606083156200033a575081620001ea565b8251156200034b5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620003975781810151838201526020016200037d565b50505050905090810190601f168015620003c55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61082c80620003e36000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610262565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b031661029f565b34801561018857600080fd5b5061012d610359565b6101996103b6565b6101a96101a4610416565b61043b565b565b6101b361045f565b6001600160a01b0316336001600160a01b031614156101da576101d581610484565b6101e2565b6101e2610191565b50565b6101ed61045f565b6001600160a01b0316336001600160a01b031614156102555761020f83610484565b61024f8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038492505050565b5061025d565b61025d610191565b505050565b600061026c61045f565b6001600160a01b0316336001600160a01b031614156102945761028d610416565b905061029c565b61029c610191565b90565b6102a761045f565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103055760405162461bcd60e51b815260040180806020018281038252603a8152602001806106f8603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e61045f565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c4565b600061036361045f565b6001600160a01b0316336001600160a01b031614156102945761028d61045f565b60606103a98383604051806060016040528060278152602001610732602791396104e8565b9392505050565b3b151590565b6103be61045f565b6001600160a01b0316336001600160a01b0316141561040e5760405162461bcd60e51b81526004018080602001828103825260428152602001806107b56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045a573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048d816105eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60606104f3846103b0565b61052e5760405162461bcd60e51b815260040180806020018281038252602681526020018061078f6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b6020831061056c5780518252601f19909201916020918201910161054d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e1828286610653565b9695505050505050565b6105f4816103b0565b61062f5760405162461bcd60e51b81526004018080602001828103825260368152602001806107596036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156106625750816103a9565b8251156106725782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106bc5781810151838201526020016106a4565b50505050905090810190601f1680156106e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a2646970667358221220d6532a0164793b86067e69ca26da1c7364d7a21188b7c79410d384a531b909f364736f6c634300060c0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374000000000000000000000000ed85325119ccfc6acb16fa931bac6378b76e4615000000000000000000000000c979fec5bf053d0d52cada4cfe1c25737731502d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000

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

000000000000000000000000ed85325119ccfc6acb16fa931bac6378b76e4615000000000000000000000000c979fec5bf053d0d52cada4cfe1c25737731502d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : logic (address): 0xed85325119ccfc6acb16fa931bac6378b76e4615
Arg [1] : admin (address): 0xc979fec5bf053d0d52cada4cfe1c25737731502d
Arg [2] : data (bytes): 0x8129fc1c

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000ed85325119ccfc6acb16fa931bac6378b76e4615
Arg [1] : 000000000000000000000000c979fec5bf053d0d52cada4cfe1c25737731502d
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [4] : 8129fc1c00000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

20953:225:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3024:11;:9;:11::i;:::-;20953:225;;2793:11;:9;:11::i;19217:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19217:119:0;-1:-1:-1;;;;;19217:119:0;;:::i;19721:219::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19721:219:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19721:219:0;;-1:-1:-1;19721:219:0;-1:-1:-1;19721:219:0;:::i;18451:131::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;18451:131:0;;;;;;;;;;;;;;18796:254;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18796:254:0;-1:-1:-1;;;;;18796:254:0;;:::i;17885:95::-;;;;;;;;;;;;;:::i;2430:113::-;2479:17;:15;:17::i;:::-;2507:28;2517:17;:15;:17::i;:::-;2507:9;:28::i;:::-;2430:113::o;19217:119::-;17343:8;:6;:8::i;:::-;-1:-1:-1;;;;;17329:22:0;:10;-1:-1:-1;;;;;17329:22:0;;17325:100;;;19299:29:::1;19310:17;19299:10;:29::i;:::-;17325:100:::0;;;17402:11;:9;:11::i;:::-;19217:119;:::o;19721:219::-;17343:8;:6;:8::i;:::-;-1:-1:-1;;;;;17329:22:0;:10;-1:-1:-1;;;;;17329:22:0;;17325:100;;;19839:29:::1;19850:17;19839:10;:29::i;:::-;19879:53;19908:17;19927:4;;19879:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;19879:28:0::1;::::0;-1:-1:-1;;;19879:53:0:i:1;:::-;;17325:100:::0;;;17402:11;:9;:11::i;:::-;19721:219;;;:::o;18451:131::-;18503:23;17343:8;:6;:8::i;:::-;-1:-1:-1;;;;;17329:22:0;:10;-1:-1:-1;;;;;17329:22:0;;17325:100;;;18557:17:::1;:15;:17::i;:::-;18539:35;;17325:100:::0;;;17402:11;:9;:11::i;:::-;18451:131;:::o;18796:254::-;17343:8;:6;:8::i;:::-;-1:-1:-1;;;;;17329:22:0;:10;-1:-1:-1;;;;;17329:22:0;;17325:100;;;-1:-1:-1;;;;;18879:22:0;::::1;18871:93;;;;-1:-1:-1::0;;;18871:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18980:32;18993:8;:6;:8::i;:::-;18980:32;::::0;;-1:-1:-1;;;;;18980:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;19023:19;19033:8;19023:9;:19::i;17885:95::-:0;17928:14;17343:8;:6;:8::i;:::-;-1:-1:-1;;;;;17329:22:0;:10;-1:-1:-1;;;;;17329:22:0;;17325:100;;;17964:8:::1;:6;:8::i;10005:200::-:0;10088:12;10120:77;10141:6;10149:4;10120:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;10113:84;10005:200;-1:-1:-1;;;10005:200:0:o;4155:444::-;4535:20;4583:8;;;4155:444::o;20662:207::-;20748:8;:6;:8::i;:::-;-1:-1:-1;;;;;20734:22:0;:10;-1:-1:-1;;;;;20734:22:0;;;20726:101;;;;-1:-1:-1;;;20726:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20838:23;:21;:23::i;13538:256::-;13388:66;13765:11;;13742:45::o;963:975::-;1363:14;1360:1;1357;1344:34;1581:1;1578;1562:14;1559:1;1543:14;1536:5;1523:60;1660:16;1657:1;1654;1639:38;1700:6;1769:68;;;;1888:16;1885:1;1878:27;1769:68;1805:16;1802:1;1795:27;20006:227;17082:66;20204:11;;20182:44::o;13920:163::-;13995:37;14014:17;13995:18;:37::i;:::-;14048:27;;-1:-1:-1;;;;;14048:27:0;;;;;;;;13920:163;:::o;20320:216::-;17082:66;20496:22;20481:48::o;10399:457::-;10544:12;10577:18;10588:6;10577:10;:18::i;:::-;10569:69;;;;-1:-1:-1;;;10569:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10712:12;10726:23;10753:6;-1:-1:-1;;;;;10753:19:0;10773:4;10753:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10753:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10711:67;;;;10796:52;10814:7;10823:10;10835:12;10796:17;:52::i;:::-;10789:59;10399:457;-1:-1:-1;;;;;;10399:457:0:o;14179:369::-;14261:37;14280:17;14261:18;:37::i;:::-;14253:104;;;;-1:-1:-1;;;14253:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13388:66;14499:31;14484:57::o;10864:777::-;11014:12;11043:7;11039:595;;;-1:-1:-1;11074:10:0;11067:17;;11039:595;11188:17;;:21;11184:439;;11451:10;11445:17;11512:15;11499:10;11495:2;11491:19;11484:44;11399:148;11594:12;11587:20;;-1:-1:-1;;;11587:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://d6532a0164793b86067e69ca26da1c7364d7a21188b7c79410d384a531b909f3
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.