Contract 0x05185872898b6f94AA600177EF41B9334B1FA48B

 

Contract Overview

Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x884ce5234691b29c870fa94ee536965c621836e25beef4da64511cc8f4c889ca82831562021-06-14 6:51:291 hr 41 mins ago0xaadf465695b80d5f8a1079b6646ba0bdbbaa4307 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00085365
0x32d57ea94c95f201ef3667d23378a20b82212bdfe78dcbbbf1522cb07a78c6ee82819082021-06-14 5:47:422 hrs 45 mins ago0x5c5d7e3d7fc77bf6d4e7e971a44f79a5b0b6b53c IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.0010243
0xa5978833bbaa17656ea27da04d87f6bd6b14567561956f6952068ef5f3fc55dd82810532021-06-14 5:04:123 hrs 29 mins ago0xf0051d2be3eee63bc79e20404d4dca051f58e777 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00102412
0x6596776de7fee7015435b8903a2d618cbb365f4900c1df39f60a8de1162f094682809862021-06-14 5:00:513 hrs 32 mins ago0x8deb5646abb78064ed0029babdf4c33613e24bda IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092853
0xbba90afe23b643cb112685e4744ef28e5fce81937a7275347d75e44746538d0582773382021-06-14 1:55:156 hrs 38 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092859
0x499495c112beb1df814c5af7c0e1d0834e3a22bb6a65f42e82a5513c92a5d3b882771082021-06-14 1:43:436 hrs 49 mins ago0x9272227568d59326a9be3a2bebbc79c5eb2aff4a IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092853
0x79bc685d4b88429a8e6b1698f5f2f2e3332eed1f51251e45870bb527abab18f482755282021-06-14 0:22:288 hrs 10 mins ago0xbddcac70b2053e3274658e65581f329eeecb1553 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00200706
0x6530b4c64b59b0eed6cb81e6b93dbdec408aba9862aa1589dac143a00a23fb9c82745092021-06-13 23:30:139 hrs 3 mins ago0x5b1617baf71991bc521f5e06236a2bf0f106d576 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00093534
0xd7bbaacadfb73d6d0b831f6b2b4431e38864fbb5f35b69b0ae57aabd8e5b64f082739692021-06-13 23:03:139 hrs 30 mins ago0xe089b607969b4c439cb43588774cfb2573996285 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00032754
0xebbb2f4a44a0e0ea19219417702a36c2bae393fd7cb194ad0a55397141dc815282739672021-06-13 23:03:079 hrs 30 mins ago0xe089b607969b4c439cb43588774cfb2573996285 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00102412
0x17822d445f67a1e52a9c7fadfcec93f78e1f73512467d347b9febcda887dfd8582737462021-06-13 22:52:049 hrs 41 mins ago0xaadf465695b80d5f8a1079b6646ba0bdbbaa4307 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00085371
0x7ab9a0d964850377ae772ac4cc466c04f8762a077b1577ac25e5e9ca95e8165382737142021-06-13 22:50:289 hrs 42 mins ago0x0bcb30ae6a56ded3dcbfa1f735a72f466e5d2043 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092932
0x67b86b2e535aa33acf7eaf8b228a1816bac73408f9656ae0e7dcfdd109feec3a82734862021-06-13 22:38:499 hrs 54 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092871
0x101d805edcc1ce070b711e77fc9cf32b3b91c4c6fe5ffeda0cfd9143d86bee0382733692021-06-13 22:32:5810 hrs ago0x8b94476dcd1ef67441758a48858afbad85369bcf IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00093528
0x11731c1cfe545bf28b39bcad8dfc66b23e7784f5686d5856f6d373b9f89e91cb82732232021-06-13 22:25:4010 hrs 7 mins ago0xd94606128b20680539a719b07bca6cbc30786a28 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00101034
0x7cf0c9e2b2ae6a998d1ac4b8644eac4a1686b2bddb034c90d39797342bce1ce282724792021-06-13 21:47:0910 hrs 46 mins ago0x8b94476dcd1ef67441758a48858afbad85369bcf IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00087406
0xcedfac0d17b40d35a4d5c224c0ed8715aaae65cb37c29c0f93b13082d1afd07782723692021-06-13 21:41:3810 hrs 51 mins ago0xdf98b2e6558caba83a5d9b8a3792d3509addc3f8 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00094918
0x45cbcb981c52e2e5966a3d16532efb9aa9a32a6919015d642acb92a2c2d493c982723122021-06-13 21:38:4710 hrs 54 mins ago0x9272227568d59326a9be3a2bebbc79c5eb2aff4a IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092871
0xd243a80f4bcdd26705b8285ad973da7b998389e73f338c5c0686945fab6a0d2782718232021-06-13 21:14:1811 hrs 19 mins ago0xacbb7378d26ad858129743488bf594599e206df5 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.000977145
0x0526324bd5a5da595be785dad85efeae018faf4a2aaae6dd32cb6d2de4a6fa8d82717622021-06-13 21:11:1511 hrs 22 mins ago0xbbd21e3bf53d6cc44efb4636f9addcb935b1172d IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092847
0xd14ef0bfad5884a7021391864f4c5ecc5a5de4fcf2693e1a50e385bc7fe0968882713492021-06-13 20:50:3611 hrs 42 mins ago0xebcbb1bcf4c7c15a63de132ce529930455cad1d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00093546
0x3c4994b23895648b0b6c584f3432967d69e73444b7508219b2de3e83a6f8e5b382710402021-06-13 20:35:0911 hrs 58 mins ago0xacefd9907f5d4d7fc387193414733a111863c8d6 IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00220539
0x7ae4b4f57d700a34edb31b3131b96bf75c4f64548af098505bc3bff726dc0e7982707672021-06-13 20:21:3012 hrs 11 mins ago0x3f79c8bd88c3bdf7bb9dee251c562b4223d9a45b IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.0008743
0x7e1d6c6752d5b27c12fbd7374749d4e3c6f3d053b54f3b102b0b65745df5ab1b82706292021-06-13 20:14:3312 hrs 18 mins ago0x3f79c8bd88c3bdf7bb9dee251c562b4223d9a45b IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.0009493
0xf12bd6381f114abc76fc6d75500ca0199bd31260c77f8c0243e243ee042cd13882705602021-06-13 20:11:0312 hrs 22 mins ago0xb04fda1603626d41b4a71d0cb52d86aa222b31ce IN  0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB0.00092871
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xbb41a64932780c954dc8b0d1108895f2cd55d33da9a04d195d1df9db6984845554710732021-03-07 11:46:3698 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xbb41a64932780c954dc8b0d1108895f2cd55d33da9a04d195d1df9db6984845554710732021-03-07 11:46:3698 days 20 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xf0b456250dc9990662a6f25808cc74a6d1131ea90 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x619731a0ba5c43f473c28986fb38fa446616c6e8dfa1d31c6487e29a2c42ea9454709422021-03-07 11:40:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x38956af04731f48e82b6812044fa27feaccab8976322f24e0d7c838e3a07c50d54708222021-03-07 11:34:0398 days 20 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x38956af04731f48e82b6812044fa27feaccab8976322f24e0d7c838e3a07c50d54708222021-03-07 11:34:0398 days 20 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:1598 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:1598 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0xdbe48a31933de413290e8ed50d4c62fae4b568d590f00863e888c037dc0d7c1254699262021-03-07 10:49:1598 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0xf0b456250dc9990662a6f25808cc74a6d1131ea9 0x05185872898b6f94aa600177ef41b9334b1fa48b0 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xf0b456250dc9990662a6f25808cc74a6d1131ea90 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0xfce050274760d7c1ab809271fb753dcedac811b80 BNB
0x8e4570f82d32737d6b688a9d03388e77d15e2bf12d4807900901099a520fb25954699252021-03-07 10:49:1298 days 21 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xfb8b37b5874e445bc89fad072e036a57bc60ae0ceeb65d833e9f2f4a91d3bfcf54695912021-03-07 10:32:3098 days 22 hrs ago 0x05185872898b6f94aa600177ef41b9334b1fa48b 0x6ea6c65e14661c0bcab5bc862fe5e7d3b5630c2f0 BNB
0xfb8b37b5874e445bc89fad072e036a57bc60ae0ceeb65d833e9f2f4a91d3bfcf54695912021-03-07 10:32:3098 days 22 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.