Contract 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f9 10

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x462c73d8976d19452593c69b5d3f8e2634920a8d25f979b09eee65e4b512ee0cTransfer330929512024-03-24 14:58:054 days 2 hrs ago0x0d4a145b7d349911335c5400409255a587ea8f08 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.001911850598
0x0f08a7d11587f882c30313976ac4f968c124992763062e781fe8ef0b76600905Approve330592602024-03-22 13:52:356 days 3 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000127459668
0x4c614006c8e8d8a6a37adbefd0fafe82b71d492d52629d6e9456c1884c56c447Approve330045602024-03-19 6:12:559 days 11 hrs ago0xc2eba74e4afebe88149b3f1ce9ac97beb2c7d1a6 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.00345863
0xe93bd4b48422f4594c855fc757e5d331099d7480dc80bc5541410caea5713b1aApprove328924842024-03-12 11:49:3516 days 6 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000152519214
0x7b77f6386721f75d80969e0fbdc2fd81b54ecf5299df192cdc61963816621b71Approve328818512024-03-11 20:14:2516 days 21 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000316449575
0xae05fabba02432ea880b35d680ef920830404beb7c1376d4af3fb8af3bdf9cd2Approve328743132024-03-11 9:16:5517 days 8 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000241113158
0xaa24402cd0884040e9d715bdcee3be3c80f71ce95ded43a865f78b4f6f52ddabTransfer328429602024-03-09 12:09:5019 days 5 hrs ago0x6fa6df919b430d34ccf5fad300176c91b326838c IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000503480705
0x815bc8e6de1101efe19176be05bbf10fba988748dd43edf0b1ed78ccd6af342fApprove328158322024-03-07 20:44:5520 days 21 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000219962351
0xce5c51be2d83c3518a00826b43403feb2bdb58fdbc1a72afe0e43a9eb36b65daApprove328112692024-03-07 14:10:3521 days 3 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000149148992
0x695bcbf4c15217187f503ec91d0a1efde7b87f12300c271051008f4fe7cbc3feApprove327934022024-03-06 12:24:4022 days 5 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000190783404
0x746106070a217191f3059dab4b0a6fb98d07630cb748000e17e425c7ba4a8278Transfer327834802024-03-05 22:05:1522 days 19 hrs ago0xfe4ba2257b7cf4fcf4774768c8a782765056308d IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000276909123
0x7a4a1ac585351d5e043cb5518f39b883316c1b6193b3bb2c1defccb5b24f34ecApprove327779592024-03-05 14:09:1523 days 3 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000289870955
0x7df757bf4c861e4d29373104d1222b23cba31c90cc7e3d605417f918def3f290Transfer327773632024-03-05 13:17:5023 days 4 hrs ago0x6a9db28673db5cb7dd037be537a1115fe5fdf8c0 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.001091127364
0x20fb521a40ad60175586b8d1c7ba787ba6c4954ffd0c6bbf50ce9beeaea45bd3Transfer327653922024-03-04 20:06:5523 days 21 hrs ago0x7529358a3571453c7f57e530c7ee35eb42297c0b IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000288465002
0xe51ab0bac0edcd9cc5a68e28e0b3b2917526edcee805e986292c240267e5dbc4Approve327614082024-03-04 14:22:3524 days 3 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000110256519
0xd53721be9b10329f2000461359f2d55ebf1b4f7b9f07cb17d67e6ce82675ccf5Approve327597412024-03-04 11:57:5024 days 5 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.001365767013
0x93444b6f2215ffe6c36647ec3e6de395b4c978690e27bda060c9f2ce3dc203ceTransfer324656102024-02-15 14:34:4542 days 3 hrs ago0x67720f866caff486f1324aa37f1c223cb2f7caa6 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.0006922728
0xbac89102928c0a1264640078f2ccba8b5e30884e334d8a6937909ead8ce24e44Transfer324317522024-02-13 12:58:0044 days 4 hrs ago0x02c52eb62d6eb5e3b102244c4962ae861e235151 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.0001979978
0xf3bdf08e18238c8b7196164b8404b137c9e47c31a29adbfb9d4cba141ac013baApprove324317172024-02-13 12:55:0044 days 4 hrs ago0x02c52eb62d6eb5e3b102244c4962ae861e235151 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.0000734767
0x1b50ecb2d707a08813c07f46e497d61432676796b1ec2941136b23fb800dcdf5Transfer323319612024-02-07 10:54:3050 days 6 hrs ago0x5fc96c182bb7e0413c08e8e03e9d7efc6cf0b099 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000183222481
0xc1cb1f86299ac684dc7dfe95ccdfd375bca2d277d2f9b42c61be53a888cc10a0Approve323069722024-02-05 21:45:5051 days 20 hrs ago0xb354af60d85e5fe431facdbb9388e4e4f70e1bbd IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000364378986
0x5831e75234e2087b8d18d079f45ba2109c3ce04c2bec65d1a6bc3e037c9b3b7aApprove323052752024-02-05 19:14:4551 days 22 hrs ago0x5e55b240bada3a286724ef68ee6fe5c543d6465a IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000684446173
0xfee54000e39a474868338ff6b9db43324721d392d5e791d12c39ec36e4a705f8Approve322397602024-02-01 18:34:5555 days 23 hrs ago0x6fbf924388c74a1a61ad017ead8f4995a3f0ead6 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.000244359931
0xcb882b6a7720212aef04749b7062b1bfc984bb2fc011304d9181f34e470f4e27Transfer322278112024-02-01 1:05:3056 days 16 hrs ago0xb2736e9cefafc7f3a504511df4140fb592623f8d IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.0002277574
0x3b4249902598352375a6f8987b1e948b786e188db6f6dde95b9a2b49b28ebf78Transfer321621802024-01-28 1:09:3060 days 16 hrs ago0xdf5068ba47d2112bcc9dd6d77e7baff5a3e502f7 IN  0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI0.001560041002
[ Download CSV Export 
AdvancedLatest 25 internal transaction
Parent Txn Hash Block From To Value
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xc759aa7f9dd9720a1502c104dae4f9852bb17c140xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0x266d5d1c64c5566f3067694c62b4684881ba03aa0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xff9ce4516ce9d9e76897f216ddac93c029b0ff280xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0x3221a28ed2b2e955da64d1d299956f277562c95c0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xc759aa7f9dd9720a1502c104dae4f9852bb17c140xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xc759aa7f9dd9720a1502c104dae4f9852bb17c140xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xc759aa7f9dd9720a1502c104dae4f9852bb17c140xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x3221a28ed2b2e955da64d1d299956f277562c95c0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x5241eb04bd03cd084e568b745e4010466ef54c15d991c1659c616d7c710e2793331233722024-03-26 11:05:052 days 6 hrs ago 0xc759aa7f9dd9720a1502c104dae4f9852bb17c140xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
0x462c73d8976d19452593c69b5d3f8e2634920a8d25f979b09eee65e4b512ee0c330929512024-03-24 14:58:054 days 2 hrs ago 0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90x7a2aba1fb4647850778658b4c69d4170104a3dcf0 xDAI
0x462c73d8976d19452593c69b5d3f8e2634920a8d25f979b09eee65e4b512ee0c330929512024-03-24 14:58:054 days 2 hrs ago 0x266d5d1c64c5566f3067694c62b4684881ba03aa0xa5c16ae5fd75f4f079f3e33f0124899bacf567f90 xDAI
[ Export Not Available for Advanced mode ]  
Index Block
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x22c1f6050e56d2876009903609a2cc3fef83b415
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at gnosisscan.io on 2022-08-24
*/

pragma solidity ^0.5.0;

/**
 * Utility library of inline functions on addresses
 *
 * Source https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/v2.1.3/contracts/utils/Address.sol
 * This contract is copied here and renamed from the original to avoid clashes in the compiled artifacts
 * when the user imports a zos-lib contract (that transitively causes this contract to be compiled and added to the
 * build/artifacts folder) as well as the vanilla Address implementation from an openzeppelin version.
 */
library ZOSLibAddress {
    /**
     * 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 account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) 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.
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}          
          

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

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

  /**
   * @dev Delegates execution to an implementation contract.
   * This is a low level function that doesn't return to its internal call site.
   * It will return to the external caller whatever the implementation returns.
   * @param implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    assembly {
      // Copy msg.data. We take full control of memory in this inline assembly
      // block because it will not return to Solidity code. We overwrite the
      // Solidity scratch pad at memory position 0.
      calldatacopy(0, 0, calldatasize)

      // Call the implementation.
      // out and outsize are 0 because we don't know the size yet.
      let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0)

      // Copy the returned data.
      returndatacopy(0, 0, returndatasize)

      switch result
      // delegatecall returns 0 on error.
      case 0 { revert(0, returndatasize) }
      default { return(0, returndatasize) }
    }
  }

  /**
   * @dev Function that is run as the first thing in the fallback function.
   * Can be redefined in derived contracts to add functionality.
   * Redefinitions must call super._willFallback().
   */
  function _willFallback() internal {
  }

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

/**
 * @title BaseUpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract BaseUpgradeabilityProxy is Proxy {
  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  event Upgraded(address indexed implementation);

  /**
   * @dev Storage slot with the address of the current implementation.
   * This is the keccak-256 hash of "org.zeppelinos.proxy.implementation", and is
   * validated in the constructor.
   */
  bytes32 internal constant IMPLEMENTATION_SLOT = 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3;

  /**
   * @dev Returns the current implementation.
   * @return Address of the current implementation
   */
  function _implementation() internal view returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    assembly {
      impl := sload(slot)
    }
  }

  /**
   * @dev Upgrades the proxy to a new implementation.
   * @param newImplementation Address of the new implementation.
   */
  function _upgradeTo(address newImplementation) internal {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /**
   * @dev Sets the implementation address of the proxy.
   * @param newImplementation Address of the new implementation.
   */
  function _setImplementation(address newImplementation) internal {
    require(ZOSLibAddress.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");

    bytes32 slot = IMPLEMENTATION_SLOT;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}
          

/**
 * @title BaseAdminUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Emitted when the administration has been transferred.
   * @param previousAdmin Address of the previous admin.
   * @param newAdmin Address of the new admin.
   */
  event AdminChanged(address previousAdmin, address newAdmin);

  /**
   * @dev Storage slot with the admin of the contract.
   * This is the keccak-256 hash of "org.zeppelinos.proxy.admin", and is
   * validated in the constructor.
   */
  bytes32 internal constant ADMIN_SLOT = 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b;

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

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

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

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

  /**
   * @dev Upgrade the backing implementation of the proxy.
   * Only the admin can call this function.
   * @param newImplementation Address of the new implementation.
   */
  function upgradeTo(address newImplementation) external ifAdmin {
    _upgradeTo(newImplementation);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy and call a function
   * on the new implementation.
   * This is useful to initialize the proxied contract.
   * @param newImplementation Address of the new implementation.
   * @param data Data to send as msg.data in the low level call.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   */
  function upgradeToAndCall(address newImplementation, bytes calldata data) payable external ifAdmin {
    _upgradeTo(newImplementation);
    (bool success,) = newImplementation.delegatecall(data);
    require(success);
  }

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

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

    assembly {
      sstore(slot, newAdmin)
    }
  }

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

/**
 * @title UpgradeabilityProxy
 * @dev Extends BaseUpgradeabilityProxy with a constructor for initializing
 * implementation and init data.
 */
contract UpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Contract constructor.
   * @param _logic Address of the initial implementation.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, bytes memory _data) public payable {
    assert(IMPLEMENTATION_SLOT == keccak256("org.zeppelinos.proxy.implementation"));
    _setImplementation(_logic);
    if(_data.length > 0) {
      (bool success,) = _logic.delegatecall(_data);
      require(success);
    }
  }  
}   

/**
 * @title AdminUpgradeabilityProxy
 * @dev Extends from BaseAdminUpgradeabilityProxy with a constructor for 
 * initializing the implementation, admin, and init data.
 */
contract AdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, UpgradeabilityProxy {
  /**
   * Contract constructor.
   * @param _logic address of the initial implementation.
   * @param _admin Address of the proxy administrator.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, address _admin, bytes memory _data) UpgradeabilityProxy(_logic, _data) public payable {
    assert(ADMIN_SLOT == keccak256("org.zeppelinos.proxy.admin"));
    _setAdmin(_admin);
  }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newImplementation","type":"address"},{"name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_logic","type":"address"},{"name":"_admin","type":"address"},{"name":"_data","type":"bytes"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousAdmin","type":"address"},{"indexed":false,"name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

Deployed Bytecode

0x608060405260043610610067576000357c0100000000000000000000000000000000000000000000000000000000900480633659cfe6146100715780634f1ef286146100c25780635c60da1b1461015b5780638f283970146101b2578063f851a44014610203575b61006f61025a565b005b34801561007d57600080fd5b506100c06004803603602081101561009457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610274565b005b610159600480360360408110156100d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b90919293919293905050506102c9565b005b34801561016757600080fd5b506101706103a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101be57600080fd5b50610201600480360360208110156101d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f9565b005b34801561020f57600080fd5b50610218610574565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102626105cc565b61027261026d610664565b610695565b565b61027c6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102bd576102b8816106ec565b6102c6565b6102c561025a565b5b50565b6102d16106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103935761030d836106ec565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610378576040519150601f19603f3d011682016040523d82523d6000602084013e61037d565b606091505b5050905080151561038d57600080fd5b5061039c565b61039b61025a565b5b505050565b60006103ab6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103ed576103e6610664565b90506103f6565b6103f561025a565b5b90565b6104016106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056857600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806108416036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e56106bb565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105638161073b565b610571565b61057061025a565b5b50565b600061057e6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105c0576105b96106bb565b90506105c9565b6105c861025a565b5b90565b6105d46106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561065a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603281526020018061080f6032913960400191505060405180910390fd5b61066261076a565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106b6573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106f58161076c565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b610775816107fb565b15156107cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610877603b913960400191505060405180910390fd5b60007f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b90506000811191505091905056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a165627a7a72305820b6f16038090c753f0c6f1b3c6169e6efd0704d91ba6bb106c29b5fbd8aa554d70029

Deployed ByteCode Sourcemap

10478:888:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025:11;:9;:11::i;:::-;10478:888;7685:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7685:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7685:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8318:225;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8318:225:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8318:225:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8318:225:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8318:225:0;;;;;;;;;;;;:::i;:::-;;6985:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6985:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7266:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7266:228:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7266:228:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6836:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6836:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3571:93;3608:15;:13;:15::i;:::-;3630:28;3640:17;:15;:17::i;:::-;3630:9;:28::i;:::-;3571:93::o;7685:105::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7755:29;7766:17;7755:10;:29::i;:::-;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;7685:105;:::o;8318:225::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;8424:29;8435:17;8424:10;:29::i;:::-;8461:12;8478:17;:30;;8509:4;;8478:36;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;8478:36:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;8460:54:0;;;8529:7;8521:16;;;;;;;;6722:1;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;8318:225;;;:::o;6985:98::-;7037:7;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7060:17;:15;:17::i;:::-;7053:24;;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;6985:98;:::o;7266:228::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7357:1;7337:22;;:8;:22;;;;7329:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7430:32;7443:8;:6;:8::i;:::-;7453;7430:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7469:19;7479:8;7469:9;:19::i;:::-;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;7266:228;:::o;6836:80::-;6879:7;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;6902:8;:6;:8::i;:::-;6895:15;;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;6836;:::o;9075:160::-;9138:8;:6;:8::i;:::-;9124:22;;:10;:22;;;;9116:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9208:21;:19;:21::i;:::-;9075:160::o;4577:161::-;4627:12;4648;4391:66;4663:19;;4648:34;;4721:4;4715:11;4707:19;;4698:35;;:::o;2464:750::-;2771:12;2768:1;2765;2752:32;2965:1;2962;2948:12;2945:1;2929:14;2924:3;2911:56;3032:14;3029:1;3026;3011:36;3064:6;3126:1;3121:36;;;;3185:14;3182:1;3175:25;3121:36;3140:14;3137:1;3130:25;8593:141;8634:11;8654:12;6396:66;8669:10;;8654:25;;8717:4;8711:11;8704:18;;8695:34;;:::o;4879:145::-;4942:37;4961:17;4942:18;:37::i;:::-;5000:17;4991:27;;;;;;;;;;;;4879:145;:::o;8856:139::-;8909:12;6396:66;8924:10;;8909:25;;8974:8;8968:4;8961:22;8952:38;;:::o;3430:40::-;:::o;5167:299::-;5246:43;5271:17;5246:24;:43::i;:::-;5238:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5362:12;4391:66;5377:19;;5362:34;;5436:17;5430:4;5423:31;5414:47;;:::o;928:627::-;988:4;1005:12;1512:7;1500:20;1492:28;;1546:1;1539:4;:8;1532:15;;;928:627;;;:::o

Swarm Source

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