Sponsored:   Color Platform: Decentralized App Store - Special Airdrop For Everyone (~17 Sep), Register NOW!
Contract Overview | Cardstack
Balance: 0 Ether
Ether Value: $0
Transactions: 7942 txns
Token Tracker: Cardstack (CARD)
 Latest 25 txns From a total of 7942 Transactions

TxHash Age From To Value [TxFee]
0x412e368cd5d85cb9b12d2eb4be75efed94e85b261df9aa8d0b9e1b0553ebe3142 hrs 29 mins ago0x8920c9a06bc26a9a9e93ea5a1e2a5ef3971c6089  IN   Cardstack0 Ether0.00069057
0x37cf406429481fcf4621c3926acbfba34fa98aedc03d76e3801dfb938d53d0c23 hrs 41 mins ago0xb870f75ecef5dc08da432dde71c4691617f3d7ba  IN   Cardstack0 Ether0.00022923
0x17a11495cd7bc491972e01de7d46c6e0a866c0ad04a5fba74ac752c82918785a3 hrs 50 mins ago0xb870f75ecef5dc08da432dde71c4691617f3d7ba  IN   Cardstack0 Ether0.00058646
0x2d816fd778b0bf0ff6a053cba5219229ad029e3fb274db05621542e5b195971b4 hrs 2 mins ago0x5d39f8cf34376e3f38eafb1f056f4298d0b074a2  IN   Cardstack0 Ether0.002034072
0x61ce417712405c953229d4c1f2a87e4fecf70652a4d6d721034aeb33a5463b034 hrs 18 mins ago0x4f8ab2af129db6c683d2365889a6a40840c4cca9  IN   Cardstack0 Ether0.0006158145
0x191a034dedabb2bdc417bf4a9141445228f609c25bd0e52a41a13b33fbcdfdc24 hrs 40 mins ago0x206ab40607d668f9829c69416565113fac7cfb16  IN   Cardstack0 Ether0.00045846
0x8dc54f50a69e2b3aefc06c4c28c105d1d642c34f563dbe767e4aac1b50bcb7bd6 hrs 41 mins ago0x3a9c7504e49a852d945b56457fe38c74ed8086ff  IN   Cardstack0 Ether0.002034072
0x6272f2b070cf4917a36f9eabc9ed1e49282288501da6edbb68bacc3f81838ff98 hrs 15 mins agoCoinex  IN   Cardstack0 Ether0.00366256
0x30adfb1c9e9dade5c6b3ecf8bd8c89f0afba53f02be04d15d736fec66dd5164d9 hrs 22 mins ago0xd7509048a74970b92fa52853095c36d3b8e24aaf  IN   Cardstack0 Ether0.001272558
0xa934a60c1d59a27621ebd53769d049898ceb103f0947ec4140d4110f53e6f9949 hrs 36 mins ago0xd7509048a74970b92fa52853095c36d3b8e24aaf  IN   Cardstack0 Ether0.005256118
0xc9b86c3387e248017953a145bf03cf25227b645d4dcc6384353e912ddbeb0fff9 hrs 50 mins agoCoinex  IN   Cardstack0 Ether0.00368304
0xd0f3c0efc279067f0442cbe66b799e03e5b731505464474e2bafcdc8442e9ea910 hrs 42 mins ago0x8d53c62a7436e5394ccf8ccee58ebdd4b90d5822  IN   Cardstack0 Ether0.000246768
0xb362b268b9f48bded9a1d5158bcb122d99c380f10e3ed309c7f2560fdccf6e9c10 hrs 45 mins agoCoinex  IN   Cardstack0 Ether0.00486768
0x25e2ac7b59831274701967a96f83294883ba40a57d1901d66b09dfbe3fcc58e611 hrs 3 mins ago0xa01d2fa387daf31a40100f7ab816beb533e075b7  IN   Cardstack0 Ether0.00022955
0x1a6c431da1e6302469d811d04c8aac185d0c021858eb2eaa3f4a06f6dcfc104211 hrs 58 mins ago0xa84fab92f24c9024c404002219c16486e9c88291  IN   Cardstack0 Ether0.001186542
0xf81985d4e79eb34a8c8e9c3c0c3c5856980b860fa60e6571b23b5345ab20af3314 hrs 59 mins agoBibox  IN   Cardstack0 Ether0.00183896
0xf55680207881c65e9eec17c3f72942b66fef07cd44dd7416d86b712dc19ca2f915 hrs 58 mins ago0xb5373784e124ac187779ea771645d5d3d553a25d  IN   Cardstack0 Ether0.001024379339
0xedb7bca27140ff7df811640eea230d5b5aa43336a4710745cc4f8e9dffa8e00d17 hrs 37 mins ago0xc237449e8241c5224efcace4f18aea7e67aaf00d  IN   Cardstack0 Ether0.0013773
0xf8886d1d2699c93d6e053da2915a6a399d36d253213d9351fd5e52561281e42817 hrs 38 mins ago0xc237449e8241c5224efcace4f18aea7e67aaf00d  IN   Cardstack0 Ether0.0018273
0xbc6260010b681c6b56c7697f44710885f0f1247f37d744cda625098d7a27c44422 hrs 47 mins ago0xd97697a91b6edfc0da314797f47be30f449cc2c2  IN   Cardstack0 Ether0.00351894
0x00bfeeeab09702b5b17af05c58924a4cb8b3b9f48cdc58f624d1e7c1c71dca6d22 hrs 56 mins ago0xd97697a91b6edfc0da314797f47be30f449cc2c2  IN   Cardstack0 Ether0.001818119
0x5b9bef494dbf9d796355f6d2f704349954d3b58144868c9cef8f939fb723ffd81 day 3 hrs ago0xb8ec4ac9be88cb86d7c66d9550c9f1cecbb5ea2b  IN   Cardstack0 Ether0.000650454
0x5f01ecbd8bd914481dcee3c49899bae8f365cda7bfc47f654240f950d409dd341 day 3 hrs ago0x7fb0c90113277498beebcc6b5ccdb180dd24b2f2  IN   Cardstack0 Ether0.000651798
0x791884d32a738a197d3d48e3698c6a870ec35840d50f40058420b78287e39ac61 day 3 hrs ago0x88e6b78fac85107f32dd8376d554b164bbb3e557  IN   Cardstack0 Ether0.000651798
0x3a79312f2154f8f8e46aea83fd7603a1748e05bcb6c6ad5080f8c1564b816ef01 day 4 hrs ago0x966ece7eeb610e4bd0b835ce2b306d80aa96daa4  IN   Cardstack0 Ether0.00082638
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: AdminUpgradeabilityProxy
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.13;

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

}

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

contract UpgradeabilityProxy is Proxy {
  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  event Upgraded(address 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 private constant IMPLEMENTATION_SLOT = 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3;

  /**
   * @dev Contract constructor.
   * @param _implementation Address of the initial implementation.
   */
  constructor(address _implementation) public {
    assert(IMPLEMENTATION_SLOT == keccak256("org.zeppelinos.proxy.implementation"));

    _setImplementation(_implementation);
  }

  /**
   * @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) private {
    require(AddressUtils.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");

    bytes32 slot = IMPLEMENTATION_SLOT;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}

contract AdminUpgradeabilityProxy is UpgradeabilityProxy {
  /**
   * @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 private 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();
    }
  }

  /**
   * Contract constructor.
   * It sets the `msg.sender` as the proxy administrator.
   * @param _implementation address of the initial implementation.
   */
  constructor(address _implementation) UpgradeabilityProxy(_implementation) public {
    assert(ADMIN_SLOT == keccak256("org.zeppelinos.proxy.admin"));

    _setAdmin(msg.sender);
  }

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

  /**
   * @return The address of the implementation.
   */
  function implementation() external view 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/develop/abi-spec.html#function-selector-and-argument-encoding.
   */
  function upgradeToAndCall(address newImplementation, bytes data) payable external ifAdmin {
    _upgradeTo(newImplementation);
    require(address(this).call.value(msg.value)(data));
  }

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

    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":true,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_implementation","type":"address"}],"payable":false,"stateMutability":"nonpayable","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":false,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b5060405160208061080d83398101604081815291517f6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e74617482527f696f6e00000000000000000000000000000000000000000000000000000000006020830152915190819003602301902081906000805160206107ed8339815191521461009157fe5b6100a381640100000000610104810204565b50604080517f6f72672e7a657070656c696e6f732e70726f78792e61646d696e0000000000008152905190819003601a0190206000805160206107cd833981519152146100ec57fe5b6100fe336401000000006101c2810204565b506101dc565b600061011c826401000000006105ae6101d482021704565b15156101af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015290519081900360840190fd5b506000805160206107ed83398151915255565b6000805160206107cd83398151915255565b6000903b1190565b6105e2806101eb6000396000f30060806040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633659cfe681146100765780634f1ef286146100975780635c60da1b146100b75780638f283970146100e8578063f851a44014610109575b61007461011e565b005b34801561008257600080fd5b50610074600160a060020a0360043516610138565b61007460048035600160a060020a03169060248035908101910135610172565b3480156100c357600080fd5b506100cc6101ea565b60408051600160a060020a039092168252519081900360200190f35b3480156100f457600080fd5b50610074600160a060020a0360043516610227565b34801561011557600080fd5b506100cc610339565b610126610364565b610136610131610411565b610436565b565b61014061045a565b600160a060020a031633600160a060020a03161415610167576101628161047f565b61016f565b61016f61011e565b50565b61017a61045a565b600160a060020a031633600160a060020a031614156101dd5761019c8361047f565b30600160a060020a03163483836040518083838082843782019150509250505060006040518083038185875af19250505015156101d857600080fd5b6101e5565b6101e561011e565b505050565b60006101f461045a565b600160a060020a031633600160a060020a0316141561021c57610215610411565b9050610224565b61022461011e565b90565b61022f61045a565b600160a060020a031633600160a060020a0316141561016757600160a060020a03811615156102e557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60448201527f787920746f20746865207a65726f206164647265737300000000000000000000606482015290519081900360840190fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030e61045a565b60408051600160a060020a03928316815291841660208301528051918290030190a1610162816104c7565b600061034361045a565b600160a060020a031633600160a060020a0316141561021c5761021561045a565b61036c61045a565b600160a060020a031633141561040957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000606482015290519081900360840190fd5b610136610136565b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c35490565b3660008037600080366000845af43d6000803e808015610455573d6000f35b3d6000fd5b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b5490565b610488816104eb565b60408051600160a060020a038316815290517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b9181900360200190a150565b7f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b55565b60006104f6826105ae565b151561058957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015290519081900360840190fd5b507f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c355565b6000903b11905600a165627a7a72305820efcb7a35c85d4d66117811ade2579fa33f7925bd5c6c995949763e1c3d12140f002910d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c300000000000000000000000048ec5680eb030356ff12ad82be1433a6992fffe7

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000048ec5680eb030356ff12ad82be1433a6992fffe7


   Swarm Source:
bzzr://efcb7a35c85d4d66117811ade2579fa33f7925bd5c6c995949763e1c3d12140f

 

View All
Block Age transaction Difficulty Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.