Contract Overview |  Cardstack
Balance: 0 Ether
Ether Value: $0
Transactions: 9682 txns
Token Tracker: Cardstack (CARD)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x0aeaf8c2fe778797cd5464e7eb8351d28da2e823at txn 0x207c646960ffc749e2f898f5053162c20b2a8fb143ea14189c56350bf7d2f69b
Token Balance:
 Latest 25 transactions from a total of 9682 transactions

TxHash Age From To Value [TxFee]
0xd8c68952a475c5d63589b28749d7c8b67c2f7be1a4ec9f09de42f989fe2064c79 mins ago0x899f44143bb44eb9a70b6e793206f5e8b56c96c8  IN   Cardstack0 Ether0.00114775
0x81c07764ae1ddf52615cd67fdbd847b6f013190c4a587aa31aefec410e4fdb9a3 hrs 18 mins ago0x9ac3eb8edad491702c09ecb12b7f198d6114468a  IN   Cardstack0 Ether0.002065438812
0x45be1b55c46d3bdf8d04adaaf7f3b43c24873a021d40431cd9473e18a614c3095 hrs 31 mins ago0xf91d677656312e6f2f12eef76f2ceedaf738c49a  IN   Cardstack0 Ether0.002711072
0xbbbba6146458305014fa1d9799de5341262685978cf5af8761e02232c833495615 hrs 17 mins agoCoinex  IN   Cardstack0 Ether0.0036728
0x3a83c722549a878ca5a38866c90c8f586441cb54cc4b8724f8b1a18e3220a11816 hrs 28 mins ago0xda3097dd54ab80239730b824725e3223b820d86f  IN   Cardstack0 Ether0.000864164
0xe19e909b654c61f2e56bd04a58ec7a42149ba8d746f32aaeab091f852620fbcb17 hrs 23 mins ago0xab3692ee2483c505bb3e8b5f586d528ef5631f23  IN   Cardstack0 Ether0.000183384
0x400f12772a544f962e724a99f172ddc40c5d371c0c69e56fbf93bea91cb322e322 hrs 31 mins ago0xe2d9ba24ac6bf0c45c5e73437c51dc9c6fd3c8b3  IN   Cardstack0 Ether0.000196278187
0x856f07bbf13d06b3631226c7556e50ca16c47fc14b249c4b508beb5064fcc7061 day 47 mins agoCoinex  IN   Cardstack0 Ether0.00367792
0xe3f510878567e4cc31b0c613e32b4463fd273307c0354f65f69416448079c3901 day 2 hrs ago0xbe047a0d81e5d222f0c220737582c6ed3b935aae  IN   Cardstack0 Ether0.0027546
0x4e07cc668faf22078f1a63232c9ce175406ce00da2ca6eb75cf3cf34b46380261 day 3 hrs ago0x86423473df416cd09e0cd5f88a6d8b41f3b95e19  IN   Cardstack0 Ether0.00206595
0x1f780be0babd1826c8ad95da4d556fa94cd2163e8541cfbcdd28ef6730156f261 day 5 hrs ago0xbe047a0d81e5d222f0c220737582c6ed3b935aae  IN   Cardstack0 Ether0.000410543
0x86350d7d5315a8b870f24129ecc3977f3933f6d647e657756ebb0129108fa78b1 day 7 hrs ago0x7ce018ba1a927f00f95b32ca98cc32d8472a874e  IN   Cardstack0 Ether0.000915974789
0x6df3fb73d45b271afd26f91c4b1d14aab788eaf4e4dfd4a065fb6923ca8b495c1 day 7 hrs ago0x7ce018ba1a927f00f95b32ca98cc32d8472a874e  IN   Cardstack0 Ether0.000645139
0x6c82581735a198dd6919b06b039abe17a156804f39cd8f16e80bcc9c2cc3fecc1 day 14 hrs agoCoinex  IN   Cardstack0 Ether0.00367792
0xa12ed8447374926951863649b933ab9f1e02365ed1a9bbc07e22e1481acf31aa1 day 14 hrs ago0x9096410692868ea33f77ff1ca3ae3d9948faf82c  IN   Cardstack0 Ether0.0002560635
0x4bba8130427028ca974d1bdf8a37e3188a59a0d0bfa78d00125f4c008b00617d1 day 14 hrs ago0x2568046c9851d068a527d77d2c1c364d5aab4b04  IN   Cardstack0 Ether0.002710048
0x4b7936a149c3d77cca782508e085beaa7b1b76cbe2a8fc44f44868c27dc0ed3c1 day 20 hrs ago0xc5658bb87fc5bc5e03804344e0d8da205fcbea5c  IN   Cardstack0 Ether0.0036728
0x9b152dc548cc351eb4900a05c493fc70cf405cb2dbc52eb7a2de6a505af09eb31 day 21 hrs agoBilaxy  IN   Cardstack0 Ether0.00151503
0xa69c28c910bb4a02aef38baf8bc0d52ec8ced2551f08fe6010d2c1d630dc347c1 day 21 hrs ago0xda33f0d631447551b0e3861549d5e8e5cb59e2ca  IN   Cardstack0 Ether0.0024728
0x72016e534fb1dc8a48ab84c0895e76c58b90ce59ca644986508e870f09896b6a1 day 21 hrs ago0x732d80e335e6bae626f8dc82ebe936b4bea42535  IN   Cardstack0 Ether0.00055638
0x8ba8fd99bacdd7138984f8bc17f181c6254e9fc506028f0500c129b1570766231 day 21 hrs ago0x96696398de92b44928ab8056ceac892a9e4b9481  IN   Cardstack0 Ether0.000831481111
0x79889f1b9326c8e5d1799894be0ab4e4189394024792eba5620a99127b9968aa1 day 21 hrs ago0x659c2c4d6d071fd048fd64fb56f9646e9774f3ff  IN   Cardstack0 Ether0.0006182
0x3ae32ba3b5defeed118bf6d10deff73ffa4db40393fc913c5a6bd5f377e14b911 day 21 hrs ago0x659c2c4d6d071fd048fd64fb56f9646e9774f3ff  IN   Cardstack0 Ether0.0012182
0x76823c24def7a102b382d34405aae6cda50aae69fd5e8ea44b110983820677b91 day 21 hrs ago0x659c2c4d6d071fd048fd64fb56f9646e9774f3ff  IN   Cardstack0 Ether0.00117298
0xace3d079a05d295e7e9924cb77eaa94eef7d34bb7462c5820d54c7f997166dc61 day 22 hrs agoBitUN.io_1  IN   Cardstack0 Ether0.00091692
[ 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.