Contract Overview |  Cardstack
Balance: 0 Ether
Ether Value: $0
Transactions: 10421 txns
Token Tracker: Cardstack (CARD)
 Latest 25 transactions from a total of 10421 transactions

TxHash Age From To Value [TxFee]
0xc560d6b51a0b91825df2a9cbc591b0d589f3e761628172609b8c5d2b1396697310 hrs 34 mins ago0x1fe8704949906edeca2c4cbb05375e07ee4321d4  IN   Cardstack0 Ether0.00009273
0x3a5c60a9d10b7499e33053c09a3baed9068c538fd5b165e0747a1a7ae58da30811 hrs 36 mins ago0xa44db7ef03c1c87530fe2aaba58a0b6b01d3c3e1  IN   Cardstack0 Ether0.00105593
0xc10391ce66ca790bc6e2a75e9d1528bc2fe3d7885db0a0e639f59954fb3955fd16 hrs 30 mins ago0xcb5f371f4be061994922dad693cd4274ba0cb851  IN   Cardstack0 Ether0.00247792
0xf33d8c46d85c1babe4f92595bd45445d39af077d3af628e7d1d8f1e1d21e4e6416 hrs 30 mins ago0xab706f275870daddbf502eda1bedfb31adec404e  IN   Cardstack0 Ether0.00367792
0x0ef43fb227304fe1910e769775c7d37485a22187d07cfdf1b0597e18c710bbec16 hrs 38 mins agoBibox  IN   Cardstack0 Ether0.00091948
0x1163c496c2ef7fb74c599b2a54e47fbe67176e4c014379c89b93d9d23043ab4716 hrs 43 mins agoBibox  IN   Cardstack0 Ether0.00121948
0x195b94f89742aa08036569673483fe756ec6265acb0274de7cd6d1bcd7464f0c19 hrs 2 mins agoBilaxy  IN   Cardstack0 Ether0.001709064
0x26b5a3c19484276582f26df65754199b45aab14b70163486e11f30abdb70488921 hrs agoCoinex  IN   Cardstack0 Ether0.00368304
0xab73af28893a7b195eca6477acc9eef448c00a6db07f5e0a8bc9d5485e574bba1 day 50 mins agoCoinex  IN   Cardstack0 Ether0.00368304
0xf69af871431e362f4c5cab4e3c93e27465931c08ab9643f70ca47a44aadf32351 day 1 hr ago0x996d93df9990e48bd24fbb3f2da6905a3be1755c  IN   Cardstack0 Ether0.00246768
0x13d4733a7f3b3a56bd2d15c75797bb85727da982d35d3d1cdd8b30a054b4a41e1 day 1 hr ago0xc51de9906ea68bd33266d398eb8b7c916a418a2b  IN   Cardstack0 Ether0.000973536
0xd3845e285de14ecf01ecd32d8851d3dd8a33df755e55392e6e48465ae2c010d81 day 10 hrs ago0xcb5f371f4be061994922dad693cd4274ba0cb851  IN   Cardstack0 Ether0.00247792
0xfba81e1cb5e04c39b6c61fa15a461e0af3cddbce59d78c020f4e572ef2a556c01 day 10 hrs ago0xcb5f371f4be061994922dad693cd4274ba0cb851  IN   Cardstack0 Ether0.0036728
0x3380fe738dd4ca3d96ba935f21200e841d71587ed8a139844ce65ce1d31077841 day 10 hrs agoBibox  IN   Cardstack0 Ether0.00091948
0x2503b501622bfeff0be82fbca1737954097d43550fb2b9852e00b4e1de0328981 day 10 hrs agoBibox  IN   Cardstack0 Ether0.0012182
0x3c95cb4be556279fa7dd926a3ec4f29c3b3fca4c73800ccd76ad59d2252008611 day 17 hrs ago0x4309a884a6a35db1da02e29d2eb64c18f6ac9fc3  IN   Cardstack0 Ether0.000232790937
0x3830c95ba5fb3f82ad10b2084170c38d2655a6165428ce40728d8a13d87ad8031 day 17 hrs ago0x74d1fdffca8dc9c830a67e9730b39182b534ba5e  IN   Cardstack0 Ether0.00284642
0x2c75f14c02070960dec0e310a64b4f814c27b0ab6a26b991e49f0970cac862801 day 17 hrs ago0x2c876ad44115f7cd985d8aefabee0aff2eb62f37  IN   Cardstack0 Ether0.000121052
0x3ac60593cb4f5bef1fc7cfa25ea7099752a7ac8a5fd1ba00bd533d0ce9d36e231 day 18 hrs ago0x673e4fe45defe417ed218ab66cac30d5fbdb918f  IN   Cardstack0 Ether0.000650454
0xdabaabae1bdcf31b428a7f6bf23484b90fccdf710fac8e51f8a589e14a1bad9f1 day 20 hrs ago0xf5d76197e4bb019f35e01e85d06b690899bdba8f  IN   Cardstack0 Ether0.00188231
0xf6260d59e051e6e8126da7d04df71f1917344a54d88fc00fb2a2008c7ad221df2 days 1 hr ago0xc3099499fbaaf2c9a5cf39b4ca5a79c646b61ebc  IN   Cardstack0 Ether0.000677
0xb14095fca0be0815345798cc04ac257a76475ca3168855d616d3a62fb12cf21e2 days 1 hr agoCoinex  IN   Cardstack0 Ether0.00487792
0x588fc76cbde48b98b4c2af162592d1b699e365b5ef0cecdaacfcda7d29ce0d582 days 3 hrs agoCoinex  IN   Cardstack0 Ether0.00487792
0x36f0282425ac136ccc1a859467856bede14c1069aa72031b358ae7146a0ba1af2 days 16 hrs ago0x9044e058e1d0a46ea92e2713c41a94c9a6904aec  IN   Cardstack0 Ether0.00018364
0xdead576ed6be2a713f568633038941d951b224d4c52e0f5d2b8840cdb83048813 days 1 hr ago0xec717907076ab0c4726b1a5ade5b747e37e2b2cd  IN   Cardstack0 Ether0.00247792
[ 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 GasUsed 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.