Contract 0x05185872898b6f94aa600177ef41b9334b1fa48b 1

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x808d37ec4d9ac24bc3a65814caae2f938aa1585c1060078f579c3d71401999a095771492021-07-29 14:48:3735 mins ago0x1038e6c8f568dad34c960ea40b18b7ebc4b429d2 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00100341
0xdc872e75a5ca14142c28f1abf8afbc8da17b988db7641ba318ffc6a02b92c9a695764802021-07-29 14:09:191 hr 15 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00195539
0xa4da9c0c00a6115acd99d7154e2334baacafa7274fb2ee46f1c38b65f076303095764352021-07-29 14:06:311 hr 17 mins ago0xc059e126cd654c1a5fb06c094039963110b6ee94 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00200718
0xe30d621a5b358fb46ba0e3cd4aa6e80e8950c0faf5eccec9489dea9fbba08efc95754742021-07-29 13:08:312 hrs 15 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00256113
0x518aedaee14ba479589f2388a8e918d69a38c9cf5e96fdeba106358d1ea3421395754322021-07-29 13:06:112 hrs 18 mins ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00148584
0xf304b48d9a5e008136a029f479744ef11802ba723dd74f5847ddff8ec18136f895754132021-07-29 13:05:112 hrs 19 mins ago0xaadf465695b80d5f8a1079b6646ba0bdbbaa4307 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.001300194
0xa78e515c746503ebc678629ca6de6c7e0fcdadadeff3969743b37ef4944e906595753612021-07-29 13:02:092 hrs 22 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.001486032
0x403e10911575eba0be8fb399ef0b97b41bba98a94063502c62f11d5928d1634695751122021-07-29 12:48:222 hrs 35 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00172869
0x09f615a411278a51182be8cc61e6ffdd100d5260371784827ac28b89e4f7833e95741802021-07-29 11:59:093 hrs 25 mins ago0x88620b600aff43f796e7e1ed1335286c29eb37a6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.0009354
0x7832b97415d0006c017614c1c1fd318f91667cc454a8e25bd2b3de715f4d89d295737792021-07-29 11:37:553 hrs 46 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092871
0xe56bbeb38ba3ecd85cb2cccf885430a8cf7b833765517cf1efe93ea05635560a95737382021-07-29 11:35:523 hrs 48 mins ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00130011
0x7c08b91858eb3da9e06b2130346a87536ada1557579707e6db72c0682769374695736202021-07-29 11:29:523 hrs 54 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.001671678
0xe404b68af6e7bc2c3ffb09da8ae54424397e1d3d8a72c54fead1e31f92c8519d95735852021-07-29 11:28:033 hrs 56 mins ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00148584
0x032864cdefb341c086c1f2ba9cddbdd97f19a2b739e40120a8349b86f0e022e595735112021-07-29 11:23:544 hrs ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00148584
0xe3e0dd044303b36946bb6b0fb04d0822b88c8340187b33788c96c1bf8cfb2d4995734522021-07-29 11:20:564 hrs 3 mins ago0xa68642e483b1a49039678bee3ddfd0e0098365df IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00187092
0xb0ec3ea17854c2251d00f5403007cc26a158a8263beb1a49d7b0a6e06184628c95734482021-07-29 11:20:444 hrs 3 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00195551
0xec307dff7019a2e1b859cc4c50c500d96afa733f07396c2e757237ca3540295095734482021-07-29 11:20:444 hrs 3 mins ago0xb0606b5e86efd0900ba7fc28f37b3f3f0d217172 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00464385
0x4fb5a29d58d500c52af7428386d1b35099d098352536f5eca9e636f48e4bf2ea95733862021-07-29 11:17:264 hrs 6 mins ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00130956
0x8b6cf5314b39a283e69cd4e7ca83baf83d351b87cccfce804a59c9aea25d78ab95733452021-07-29 11:15:154 hrs 9 mins ago0x8d8bec2e6b85497909bfc82c7c886f4ecc81a9eb IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00278595
0x1865713dee9060a5dd7b51a64af36ec8819756710638b0d074fc89a3b9355c5a95733402021-07-29 11:15:004 hrs 9 mins ago0x8d8bec2e6b85497909bfc82c7c886f4ecc81a9eb IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00278613
0x37743223abba1c211d713d63ebb67d5cdcebf06fb30f25074d289ca235e7e0c895730092021-07-29 10:58:054 hrs 26 mins ago0x6c3943d78ca893f7c996f4e191563880f3117375 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00085365
0x980dd7ede2e496d972ea74a5ceaf934320f636c53163cbebe6b088ac3f032e5c95729262021-07-29 10:53:264 hrs 30 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00148584
0x0a2a42a8a23065f3ad88cd61a8504dee04d23f4f8020400f487bf4a33f54cf3c95728352021-07-29 10:48:154 hrs 36 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00067451
0x31855e878fd0130a62df242e4a26198c4ebf4dfd7da6471931b0a1352c98fc6495728212021-07-29 10:47:314 hrs 36 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00085371
0xea9b6badad5122371ad7ad5ad6cb86e5aa3bc928a2ef6976d4707204cd77dc4b95727452021-07-29 10:43:144 hrs 41 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00195527
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xbb41a64932780c954dc8b0d1108895f2cd55d33da9a04d195d1df9db6984845554710732021-03-07 11:46:36144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xbb41a64932780c954dc8b0d1108895f2cd55d33da9a04d195d1df9db6984845554710732021-03-07 11:46:36144 days 3 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xf0b456250dc9990662a6f25808cc74a6d1131ea90 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x38956af04731f48e82b6812044fa27feaccab8976322f24e0d7c838e3a07c50d54708222021-03-07 11:34:03144 days 3 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x38956af04731f48e82b6812044fa27feaccab8976322f24e0d7c838e3a07c50d54708222021-03-07 11:34:03144 days 3 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:15144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:15144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:15144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xf0b456250dc9990662a6f25808cc74a6d1131ea90 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:12144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xfb8b37b5874e445bc89fad072e036a57bc60ae0ceeb65d833e9f2f4a91d3bfcf54695912021-03-07 10:32:30144 days 4 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xfb8b37b5874e445bc89fad072e036a57bc60ae0ceeb65d833e9f2f4a91d3bfcf54695912021-03-07 10:32:30144 days 4 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xB066E69BD0AB1bBEf358A117C570D6D80C7DCfc7

Contract Name:
EternalStorageProxy

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at BscScan.com on 2020-11-11
*/

// File: contracts/upgradeability/EternalStorage.sol

pragma solidity 0.4.24;

/**
 * @title EternalStorage
 * @dev This contract holds all the necessary state variables to carry out the storage of any contract.
 */
contract EternalStorage {
    mapping(bytes32 => uint256) internal uintStorage;
    mapping(bytes32 => string) internal stringStorage;
    mapping(bytes32 => address) internal addressStorage;
    mapping(bytes32 => bytes) internal bytesStorage;
    mapping(bytes32 => bool) internal boolStorage;
    mapping(bytes32 => int256) internal intStorage;

}

// File: openzeppelin-solidity/contracts/AddressUtils.sol

pragma solidity ^0.4.24;


/**
 * Utility library of inline functions on addresses
 */
library AddressUtils {

  /**
   * Returns whether the target address is a contract
   * @dev This function will return false if invoked during the constructor of a contract,
   * as the code is not actually created until after the constructor finishes.
   * @param _addr address to check
   * @return whether the target address is a contract
   */
  function isContract(address _addr) internal view returns (bool) {
    uint256 size;
    // XXX Currently there is no better way to check if there is a contract in an address
    // than to check the size of the code at that address.
    // See https://ethereum.stackexchange.com/a/14016/36603
    // for more details about how this works.
    // TODO Check this again before the Serenity release, because all addresses will be
    // contracts then.
    // solium-disable-next-line security/no-inline-assembly
    assembly { size := extcodesize(_addr) }
    return size > 0;
  }

}

// File: contracts/upgradeability/Proxy.sol

pragma solidity 0.4.24;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract Proxy {
    /**
    * @dev Tells the address of the implementation where every call will be delegated.
    * @return address of the implementation to which it will be delegated
    */
    /* solcov ignore next */
    function implementation() public view returns (address);

    /**
    * @dev Fallback function allowing to perform a delegatecall to the given implementation.
    * This function will return whatever the implementation call returns
    */
    function() public payable {
        // solhint-disable-previous-line no-complex-fallback
        address _impl = implementation();
        require(_impl != address(0));
        assembly {
            /*
                0x40 is the "free memory slot", meaning a pointer to next slot of empty memory. mload(0x40)
                loads the data in the free memory slot, so `ptr` is a pointer to the next slot of empty
                memory. It's needed because we're going to write the return data of delegatecall to the
                free memory slot.
            */
            let ptr := mload(0x40)
            /*
                `calldatacopy` is copy calldatasize bytes from calldata
                First argument is the destination to which data is copied(ptr)
                Second argument specifies the start position of the copied data.
                    Since calldata is sort of its own unique location in memory,
                    0 doesn't refer to 0 in memory or 0 in storage - it just refers to the zeroth byte of calldata.
                    That's always going to be the zeroth byte of the function selector.
                Third argument, calldatasize, specifies how much data will be copied.
                    calldata is naturally calldatasize bytes long (same thing as msg.data.length)
            */
            calldatacopy(ptr, 0, calldatasize)
            /*
                delegatecall params explained:
                gas: the amount of gas to provide for the call. `gas` is an Opcode that gives
                    us the amount of gas still available to execution

                _impl: address of the contract to delegate to

                ptr: to pass copied data

                calldatasize: loads the size of `bytes memory data`, same as msg.data.length

                0, 0: These are for the `out` and `outsize` params. Because the output could be dynamic,
                        these are set to 0, 0 so the output data will not be written to memory. The output
                        data will be read using `returndatasize` and `returdatacopy` instead.

                result: This will be 0 if the call fails and 1 if it succeeds
            */
            let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
            /*

            */
            /*
                ptr current points to the value stored at 0x40,
                because we assigned it like ptr := mload(0x40).
                Because we use 0x40 as a free memory pointer,
                we want to make sure that the next time we want to allocate memory,
                we aren't overwriting anything important.
                So, by adding ptr and returndatasize,
                we get a memory location beyond the end of the data we will be copying to ptr.
                We place this in at 0x40, and any reads from 0x40 will now read from free memory
            */
            mstore(0x40, add(ptr, returndatasize))
            /*
                `returndatacopy` is an Opcode that copies the last return data to a slot. `ptr` is the
                    slot it will copy to, 0 means copy from the beginning of the return data, and size is
                    the amount of data to copy.
                `returndatasize` is an Opcode that gives us the size of the last return data. In this case, that is the size of the data returned from delegatecall
            */
            returndatacopy(ptr, 0, returndatasize)

            /*
                if `result` is 0, revert.
                if `result` is 1, return `size` amount of data from `ptr`. This is the data that was
                copied to `ptr` from the delegatecall return data
            */
            switch result
                case 0 {
                    revert(ptr, returndatasize)
                }
                default {
                    return(ptr, returndatasize)
                }
        }
    }
}

// File: contracts/upgradeability/UpgradeabilityStorage.sol

pragma solidity 0.4.24;

/**
 * @title UpgradeabilityStorage
 * @dev This contract holds all the necessary state variables to support the upgrade functionality
 */
contract UpgradeabilityStorage {
    // Version name of the current implementation
    uint256 internal _version;

    // Address of the current implementation
    address internal _implementation;

    /**
    * @dev Tells the version name of the current implementation
    * @return uint256 representing the name of the current version
    */
    function version() external view returns (uint256) {
        return _version;
    }

    /**
    * @dev Tells the address of the current implementation
    * @return address of the current implementation
    */
    function implementation() public view returns (address) {
        return _implementation;
    }
}

// File: contracts/upgradeability/UpgradeabilityProxy.sol

pragma solidity 0.4.24;




/**
 * @title UpgradeabilityProxy
 * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
 */
contract UpgradeabilityProxy is Proxy, UpgradeabilityStorage {
    /**
    * @dev This event will be emitted every time the implementation gets upgraded
    * @param version representing the version name of the upgraded implementation
    * @param implementation representing the address of the upgraded implementation
    */
    event Upgraded(uint256 version, address indexed implementation);

    /**
    * @dev Upgrades the implementation address
    * @param version representing the version name of the new implementation to be set
    * @param implementation representing the address of the new implementation to be set
    */
    function _upgradeTo(uint256 version, address implementation) internal {
        require(_implementation != implementation);

        // This additional check verifies that provided implementation is at least a contract
        require(AddressUtils.isContract(implementation));

        // This additional check guarantees that new version will be at least greater than the privios one,
        // so it is impossible to reuse old versions, or use the last version twice
        require(version > _version);

        _version = version;
        _implementation = implementation;
        emit Upgraded(version, implementation);
    }
}

// File: contracts/upgradeability/UpgradeabilityOwnerStorage.sol

pragma solidity 0.4.24;

/**
 * @title UpgradeabilityOwnerStorage
 * @dev This contract keeps track of the upgradeability owner
 */
contract UpgradeabilityOwnerStorage {
    // Owner of the contract
    address internal _upgradeabilityOwner;

    /**
    * @dev Tells the address of the owner
    * @return the address of the owner
    */
    function upgradeabilityOwner() public view returns (address) {
        return _upgradeabilityOwner;
    }

    /**
    * @dev Sets the address of the owner
    */
    function setUpgradeabilityOwner(address newUpgradeabilityOwner) internal {
        _upgradeabilityOwner = newUpgradeabilityOwner;
    }
}

// File: contracts/upgradeability/OwnedUpgradeabilityProxy.sol

pragma solidity 0.4.24;



/**
 * @title OwnedUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with basic authorization control functionalities
 */
contract OwnedUpgradeabilityProxy is UpgradeabilityOwnerStorage, UpgradeabilityProxy {
    /**
    * @dev Event to show ownership has been transferred
    * @param previousOwner representing the address of the previous owner
    * @param newOwner representing the address of the new owner
    */
    event ProxyOwnershipTransferred(address previousOwner, address newOwner);

    /**
    * @dev the constructor sets the original owner of the contract to the sender account.
    */
    constructor() public {
        setUpgradeabilityOwner(msg.sender);
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyUpgradeabilityOwner() {
        require(msg.sender == upgradeabilityOwner());
        /* solcov ignore next */
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferProxyOwnership(address newOwner) external onlyUpgradeabilityOwner {
        require(newOwner != address(0));
        emit ProxyOwnershipTransferred(upgradeabilityOwner(), newOwner);
        setUpgradeabilityOwner(newOwner);
    }

    /**
    * @dev Allows the upgradeability owner to upgrade the current version of the proxy.
    * @param version representing the version name of the new implementation to be set.
    * @param implementation representing the address of the new implementation to be set.
    */
    function upgradeTo(uint256 version, address implementation) public onlyUpgradeabilityOwner {
        _upgradeTo(version, implementation);
    }

    /**
    * @dev Allows the upgradeability owner to upgrade the current version of the proxy and call the new implementation
    * to initialize whatever is needed through a low level call.
    * @param version representing the version name of the new implementation to be set.
    * @param implementation representing the address of the new implementation to be set.
    * @param data represents the msg.data to bet sent in the low level call. This parameter may include the function
    * signature of the implementation to be called with the needed payload
    */
    function upgradeToAndCall(uint256 version, address implementation, bytes data)
        external
        payable
        onlyUpgradeabilityOwner
    {
        upgradeTo(version, implementation);
        // solhint-disable-next-line avoid-call-value
        require(address(this).call.value(msg.value)(data));
    }
}

// File: contracts/upgradeability/EternalStorageProxy.sol

pragma solidity 0.4.24;



/**
 * @title EternalStorageProxy
 * @dev This proxy holds the storage of the token contract and delegates every call to the current implementation set.
 * Besides, it allows to upgrade the token's behaviour towards further implementations, and provides basic
 * authorization control functionalities
 */
// solhint-disable-next-line no-empty-blocks
contract EternalStorageProxy is EternalStorage, OwnedUpgradeabilityProxy {}

Contract ABI

[{"constant":false,"inputs":[{"name":"version","type":"uint256"},{"name":"implementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"upgradeabilityOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"version","type":"uint256"},{"name":"implementation","type":"address"},{"name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"ProxyOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"version","type":"uint256"},{"indexed":true,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

60806040526100163364010000000061001b810204565b61003d565b60068054600160a060020a031916600160a060020a0392909216919091179055565b6103e08061004c6000396000f3006080604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633ad06d1681146100c257806354fd4d50146100e85780635c60da1b1461010f5780636fde820214610140578063a9c45fcb14610155578063f1739cae14610179575b600061008161019a565b9050600160a060020a038116151561009857600080fd5b60405136600082376000803683855af43d82016040523d6000833e8080156100be573d83f35b3d83fd5b3480156100ce57600080fd5b506100e6600435600160a060020a03602435166101a9565b005b3480156100f457600080fd5b506100fd6101d3565b60408051918252519081900360200190f35b34801561011b57600080fd5b5061012461019a565b60408051600160a060020a039092168252519081900360200190f35b34801561014c57600080fd5b506101246101d9565b6100e6600480359060248035600160a060020a0316916044359182019101356101e8565b34801561018557600080fd5b506100e6600160a060020a0360043516610250565b600854600160a060020a031690565b6101b16101d9565b600160a060020a031633146101c557600080fd5b6101cf82826102d8565b5050565b60075490565b600654600160a060020a031690565b6101f06101d9565b600160a060020a0316331461020457600080fd5b61020e84846101a9565b30600160a060020a03163483836040518083838082843782019150509250505060006040518083038185875af192505050151561024a57600080fd5b50505050565b6102586101d9565b600160a060020a0316331461026c57600080fd5b600160a060020a038116151561028157600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96102aa6101d9565b60408051600160a060020a03928316815291841660208301528051918290030190a16102d58161037d565b50565b600854600160a060020a03828116911614156102f357600080fd5b6102fc816103ac565b151561030757600080fd5b600754821161031557600080fd5b600782905560088054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911681179091556040805184815290517f4289d6195cf3c2d2174adf98d0e19d4d2d08887995b99cb7b100e7ffe795820e9181900360200190a25050565b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000903b11905600a165627a7a7230582078bac02704e0c07980df83f6082a0453ef0e0259d68860b6e0f2c5dc0d11c56c0029

Deployed ByteCode Sourcemap

12877:75:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2460:13;2476:16;:14;:16::i;:::-;2460:32;-1:-1:-1;;;;;;2511:19:0;;;;2503:28;;;;;;2969:4;2963:11;3750:12;3747:1;3742:3;3729:34;4681:1;4678;4664:12;4659:3;4652:5;4647:3;4634:49;5371:14;5366:3;5362:24;5356:4;5349:38;5881:14;5878:1;5873:3;5858:38;6163:6;6187:76;;;;6324:14;6319:3;6312:27;6187:76;6229:14;6224:3;6217:27;11370:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11370:145:0;;;-1:-1:-1;;;;;11370:145:0;;;;;;;6976:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6976:85:0;;;;;;;;;;;;;;;;;;;;7199:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7199:97:0;;;;;;;;-1:-1:-1;;;;;7199:97:0;;;;;;;;;;;;;;9282:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9282:107:0;;;;12100:321;;;;;;;;;-1:-1:-1;;;;;12100:321:0;;;;;;;;;;;;10826:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10826:250:0;-1:-1:-1;;;;;10826:250:0;;;;;7199:97;7273:15;;-1:-1:-1;;;;;7273:15:0;7199:97;:::o;11370:145::-;10576:21;:19;:21::i;:::-;-1:-1:-1;;;;;10562:35:0;:10;:35;10554:44;;;;;;11472:35;11483:7;11492:14;11472:10;:35::i;:::-;11370:145;;:::o;6976:85::-;7045:8;;6976:85;:::o;9282:107::-;9361:20;;-1:-1:-1;;;;;9361:20:0;9282:107;:::o;12100:321::-;10576:21;:19;:21::i;:::-;-1:-1:-1;;;;;10562:35:0;:10;:35;10554:44;;;;;;12263:34;12273:7;12282:14;12263:9;:34::i;:::-;12379:4;-1:-1:-1;;;;;12371:18:0;12396:9;12407:4;;12371:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12363:50;;;;;;;;12100:321;;;;:::o;10826:250::-;10576:21;:19;:21::i;:::-;-1:-1:-1;;;;;10562:35:0;:10;:35;10554:44;;;;;;-1:-1:-1;;;;;10928:22:0;;;;10920:31;;;;;;10967:58;10993:21;:19;:21::i;:::-;10967:58;;;-1:-1:-1;;;;;10967:58:0;;;;;;;;;;;;;;;;;;;;;11036:32;11059:8;11036:22;:32::i;:::-;10826:250;:::o;8206:644::-;8295:15;;-1:-1:-1;;;;;8295:33:0;;;:15;;:33;;8287:42;;;;;;8445:39;8469:14;8445:23;:39::i;:::-;8437:48;;;;;;;;8710:8;;8700:18;;8692:27;;;;;;8732:8;:18;;;8761:15;:32;;-1:-1:-1;;;;;8761:32:0;;-1:-1:-1;;8761:32:0;;;;;;;;8809:33;;;;;;;;;;;;;;;;;8206:644;;:::o;9456:137::-;9540:20;:45;;-1:-1:-1;;9540:45:0;-1:-1:-1;;;;;9540:45:0;;;;;;;;;;9456:137::o;1100:589::-;1158:4;1642:18;;1675:8;;1100:589::o

Swarm Source

bzzr://78bac02704e0c07980df83f6082a0453ef0e0259d68860b6e0f2c5dc0d11c56c
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.