Sponsored Link:   ARNA Genomics - FIRST BLOCKCHAIN BIOTECH ECOSYSTEM. Join ICO Now!
Contract Overview
ETH Balance: 120,762.247930525696659044 Ether
ETH USD Value: $43,635,023.04 (@ $361.33/ETH)
No Of Transactions: 31 txns
  Latest 25 txns from a total Of 31 transactions View All

TxHash Age From To Value [TxFee]
0xf43d4539db97fb84bb2ac41f35f42d5f8c9126db108deab9393c5de8fe099eef35 days 4 hrs ago0xe55ad247da456e360c20a0042384e40f25764bf1  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.00049662
0x41913690c727e45063ccb6588d04b8065b17aebe285f6a1784182fb63a95467835 days 5 hrs ago0xe55ad247da456e360c20a0042384e40f25764bf1  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.00048776
0xb5d50203cb6c3160000d80e08374fbaf4a688c119bf33d59b8153b6ea14bc94241 days 9 hrs ago0x984be5b537464be838ffa1cc558764f6b77ddbcc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000794325
0xf7b64a7d4864d92445c712ed099a0f9882cccc75191777bfbb1192a232f2ec8841 days 9 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.001551396
0xdd8f8144b1cc53ec073bd9c9edb0aef76996c43a2cc06a3a3ccffb5b8a9dc48941 days 9 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.007367388
0xce53b319e30836591395a85e00ab38d8acf26055141ebae570257102aea22f7d41 days 9 hrs ago0x984be5b537464be838ffa1cc558764f6b77ddbcc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000794325
0x12f734a858d892289945608b4f6f982bb63892aa6373c99aac8abd4606bfa4d541 days 9 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.001551396
0xaebe6a6d303c4cebfcc23fe2854cf42a90df5a1565968a37e22ae8c37089a54e41 days 9 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.0073647
0x2481c89ed27e986527df4dfb3d0885f04d67bd5d7310e54ce0f807039382e5a941 days 9 hrs ago0x984be5b537464be838ffa1cc558764f6b77ddbcc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.0021
0x3ec6e7f58bb9ce1c4490d6ae90e252686e838b24678a0fecbf1a924da36eb31c41 days 10 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.0042
0x5eba367f8f26b7b8610ab3391785a79055a546f2a3e986e4e40c9a43c3733ee641 days 10 hrs ago0x0fe0ecfd53525fde9153e4c3acf66403b392a832  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000775698
0x219ff3966592798ea281a47242693d5a1b450d3cec3a19fae5579d673550d41341 days 10 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.007787052
0xfa0e5d135cadaa66ae4702dfae694c7c24d5890122c29bb264b59f1602445e8d67 days 17 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000095164
0x57c8ec028726bcad59c3ef11409cd422645db851b263b090a50bf4d1a2507b72119 days 5 hrs agoJordiBaylina (WHG)  IN   0x21346283a31a5ad10fa64377e77a8900ac12d469120,883.241813525696659 Ether0.000494692
0xdfe345abdfcb3b4354f3f788a250a41a6c4016ef7aed36452cd402efe07b612e119 days 5 hrs agoJordiBaylina (WHG)  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4691 wei0.000494692
0xa204350e5002497546ab278eeb51e91673ade2ed54c462e0b8fbc0fa05cb3199119 days 5 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.001140436
0xf1193332228a924c1390424339c1b721c56a01de7c796ae4161f4701b9876590119 days 5 hrs ago0x008d4fa11e6d45d6fd8b1151bd1c556d05afd7e3  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000812636
0x98180d37ca4ca63c460f5fa11f6d30eeae4378aff0f55f20532fe71220c22b26119 days 6 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.004744322
0xcc436952bcfca86590b8b646897628fa86a4610f92771e5c656fdfef4f1ed06d119 days 11 hrs ago0x984be5b537464be838ffa1cc558764f6b77ddbcc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.00158865
0xf688c6121fa40a7e3bcffc066e2cab5e0d5b67948dc9d1f642ec40cc7f945c25119 days 11 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.001551396
0xc88b5a06d009b4a8bde2226f5b4dfb8fe019377eb384671277fd59e01355bbfc119 days 11 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.007781676
0xe1e3ecbdd1deada54ddb2ea35d36df0a159e8850d2fa0f774b4898718d2383f1119 days 11 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.0042
0x9f35debd1c52429eeee1e200c5559f519e5f209ea6775323e603cf444dda4669119 days 12 hrs ago0x4a8441212108cf6bafcf31e8f43fbcaca50d0943  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.00146475
0xf5f440f6cbbcae6b6cb27b29638c636696ed55dd9f6ea8fdb7ef62eb12596a0e119 days 15 hrs ago0x984be5b537464be838ffa1cc558764f6b77ddbcc  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.000775698
0x17abeaaeac3d7495049376f1e071879160736e14cc850813f6ef0364c9acd018119 days 15 hrs ago0x9ed07b5db7dad3c9a0baa3e320e68ce779063249  IN   0x21346283a31a5ad10fa64377e77a8900ac12d4690 Ether0.007305984
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 6 Internal Transactions

ParentTxHash Block Age From To Value
0xb5d50203cb6c3160000d80e08374fbaf4a688c119bf33d59b8153b6ea14bc942435682641 days 9 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690x9ed07b5db7dad3c9a0baa3e320e68ce779063249120.883 Ether
0xce53b319e30836591395a85e00ab38d8acf26055141ebae570257102aea22f7d435679841 days 9 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690x9ed07b5db7dad3c9a0baa3e320e68ce7790632490.120883 Ether
0x2481c89ed27e986527df4dfb3d0885f04d67bd5d7310e54ce0f807039382e5a9435675341 days 9 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690xd556caf704e39fc728058557a113b226207d22120.120883 Ether
0x3ec6e7f58bb9ce1c4490d6ae90e252686e838b24678a0fecbf1a924da36eb31c435673941 days 10 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690xd556caf704e39fc728058557a113b226207d22120.120883 Ether
0xcc436952bcfca86590b8b646897628fa86a4610f92771e5c656fdfef4f1ed06d4071959119 days 11 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690x7932e1ed8586fff9eb41944a9e4af52a1ea3ce3e0.01 Ether
0x3d347aac847fa73d7b158a750010da400334bf790ef1afb2856b2ba0825d0d414070981119 days 16 hrs ago0x21346283a31a5ad10fa64377e77a8900ac12d4690x7e969b77029880e023c837437765837bd0c3e9570.01 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity) Solidity compiler bugs.

Contract Source Code Verified
Note: Displaying matching verified source code at contract 0xb24e9e3dc822daa8ace9af9c9b2ff8ab8348bc93
Contract Name: Wallet
Compiler Version: v0.4.13+commit.fb4cb1a
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
//sol Wallet
// Multi-sig, daily-limited account proxy/wallet.
// @authors:
// Gav Wood <[email protected]>
// inheritable "property" contract that enables methods to be protected by requiring the acquiescence of either a
// single, or, crucially, each of a number of, designated owners.
// usage:
// use modifiers onlyowner (just own owned) or onlymanyowners(hash), whereby the same hash must be provided by
// some number (specified in constructor) of the set of owners (specified in the constructor, modifiable) before the
// interior is executed.

pragma solidity ^0.4.13;

contract multiowned {

	// TYPES

	// struct for the status of a pending operation.
	struct PendingState {
		uint yetNeeded;
		uint ownersDone;
		uint index;
	}

	// EVENTS

	// this contract only has six types of events: it can accept a confirmation, in which case
	// we record owner and operation (hash) alongside it.
	event Confirmation(address owner, bytes32 operation);
	event Revoke(address owner, bytes32 operation);
	// some others are in the case of an owner changing.
	event OwnerChanged(address oldOwner, address newOwner);
	event OwnerAdded(address newOwner);
	event OwnerRemoved(address oldOwner);
	// the last one is emitted if the required signatures change
	event RequirementChanged(uint newRequirement);

	// MODIFIERS

	// simple single-sig function modifier.
	modifier onlyowner {
		if (isOwner(msg.sender))
			_;
	}
	// multi-sig function modifier: the operation must have an intrinsic hash in order
	// that later attempts can be realised as the same underlying operation and
	// thus count as confirmations.
	modifier onlymanyowners(bytes32 _operation) {
		if (confirmAndCheck(_operation))
			_;
	}

	// METHODS

	// constructor is given number of sigs required to do protected "onlymanyowners" transactions
	// as well as the selection of addresses capable of confirming them.
	function multiowned(address[] _owners, uint _required) {
		require(_required > 0);
		require(_owners.length >= _required);
		m_numOwners = _owners.length;
		for (uint i = 0; i < _owners.length; ++i) {
			m_owners[1 + i] = uint(_owners[i]);
			m_ownerIndex[uint(_owners[i])] = 1 + i;
		}
		m_required = _required;
	}

	// Revokes a prior confirmation of the given operation
	function revoke(bytes32 _operation) external {
		uint ownerIndex = m_ownerIndex[uint(msg.sender)];
		// make sure they're an owner
		if (ownerIndex == 0) return;
		uint ownerIndexBit = 2**ownerIndex;
		var pending = m_pending[_operation];
		if (pending.ownersDone & ownerIndexBit > 0) {
			pending.yetNeeded++;
			pending.ownersDone -= ownerIndexBit;
			Revoke(msg.sender, _operation);
		}
	}

	// Replaces an owner `_from` with another `_to`.
	function changeOwner(address _from, address _to) onlymanyowners(sha3(msg.data)) external {
		if (isOwner(_to)) return;
		uint ownerIndex = m_ownerIndex[uint(_from)];
		if (ownerIndex == 0) return;

		clearPending();
		m_owners[ownerIndex] = uint(_to);
		m_ownerIndex[uint(_from)] = 0;
		m_ownerIndex[uint(_to)] = ownerIndex;
		OwnerChanged(_from, _to);
	}

	function addOwner(address _owner) onlymanyowners(sha3(msg.data)) external {
		if (isOwner(_owner)) return;

		clearPending();
		if (m_numOwners >= c_maxOwners)
			reorganizeOwners();
		if (m_numOwners >= c_maxOwners)
			return;
		m_numOwners++;
		m_owners[m_numOwners] = uint(_owner);
		m_ownerIndex[uint(_owner)] = m_numOwners;
		OwnerAdded(_owner);
	}

	function removeOwner(address _owner) onlymanyowners(sha3(msg.data)) external {
		uint ownerIndex = m_ownerIndex[uint(_owner)];
		if (ownerIndex == 0) return;
		if (m_required > m_numOwners - 1) return;

		m_owners[ownerIndex] = 0;
		m_ownerIndex[uint(_owner)] = 0;
		clearPending();
		reorganizeOwners(); //make sure m_numOwner is equal to the number of owners and always points to the optimal free slot
		OwnerRemoved(_owner);
	}

	function changeRequirement(uint _newRequired) onlymanyowners(sha3(msg.data)) external {
		if (_newRequired == 0) return;
		if (_newRequired > m_numOwners) return;
		m_required = _newRequired;
		clearPending();
		RequirementChanged(_newRequired);
	}

	// Gets an owner by 0-indexed position (using numOwners as the count)
	function getOwner(uint ownerIndex) external constant returns (address) {
		return address(m_owners[ownerIndex + 1]);
	}

	function isOwner(address _addr) returns (bool) {
		return m_ownerIndex[uint(_addr)] > 0;
	}

	function hasConfirmed(bytes32 _operation, address _owner) constant returns (bool) {
		var pending = m_pending[_operation];
		uint ownerIndex = m_ownerIndex[uint(_owner)];

		// make sure they're an owner
		if (ownerIndex == 0) return false;

		// determine the bit to set for this owner.
		uint ownerIndexBit = 2**ownerIndex;
		return !(pending.ownersDone & ownerIndexBit == 0);
	}

	// INTERNAL METHODS

	function confirmAndCheck(bytes32 _operation) internal returns (bool) {
		// determine what index the present sender is:
		uint ownerIndex = m_ownerIndex[uint(msg.sender)];
		// make sure they're an owner
		if (ownerIndex == 0) return;

		var pending = m_pending[_operation];
		// if we're not yet working on this operation, switch over and reset the confirmation status.
		if (pending.yetNeeded == 0) {
			// reset count of confirmations needed.
			pending.yetNeeded = m_required;
			// reset which owners have confirmed (none) - set our bitmap to 0.
			pending.ownersDone = 0;
			pending.index = m_pendingIndex.length++;
			m_pendingIndex[pending.index] = _operation;
		}
		// determine the bit to set for this owner.
		uint ownerIndexBit = 2**ownerIndex;
		// make sure we (the message sender) haven't confirmed this operation previously.
		if (pending.ownersDone & ownerIndexBit == 0) {
			Confirmation(msg.sender, _operation);
			// ok - check if count is enough to go ahead.
			if (pending.yetNeeded == 1) {
				// enough confirmations: reset and run interior.
				delete m_pendingIndex[m_pending[_operation].index];
				delete m_pending[_operation];
				return true;
			}
			else
			{
				// not enough: record that this owner in particular confirmed.
				pending.yetNeeded--;
				pending.ownersDone |= ownerIndexBit;
			}
		}
	}

	function reorganizeOwners() private {
		uint free = 1;
		while (free < m_numOwners)
		{
			while (free < m_numOwners && m_owners[free] != 0) free++;
			while (m_numOwners > 1 && m_owners[m_numOwners] == 0) m_numOwners--;
			if (free < m_numOwners && m_owners[m_numOwners] != 0 && m_owners[free] == 0)
			{
				m_owners[free] = m_owners[m_numOwners];
				m_ownerIndex[m_owners[free]] = free;
				m_owners[m_numOwners] = 0;
			}
		}
	}

	function clearPending() internal {
		uint length = m_pendingIndex.length;
		for (uint i = 0; i < length; ++i)
			if (m_pendingIndex[i] != 0)
				delete m_pending[m_pendingIndex[i]];
		delete m_pendingIndex;
	}

	// FIELDS

	// the number of owners that must confirm the same operation before it is run.
	uint public m_required;
	// pointer used to find a free slot in m_owners
	uint public m_numOwners;

	// list of owners
	uint[256] m_owners;
	uint constant c_maxOwners = 250;
	// index on the list of owners to allow reverse lookup
	mapping(uint => uint) m_ownerIndex;
	// the ongoing operations.
	mapping(bytes32 => PendingState) m_pending;
	bytes32[] m_pendingIndex;
}

// inheritable "property" contract that enables methods to be protected by placing a linear limit (specifiable)
// on a particular resource per calendar day. is multiowned to allow the limit to be altered. resource that method
// uses is specified in the modifier.
contract daylimit is multiowned {

	// METHODS

	// constructor - stores initial daily limit and records the present day's index.
	function daylimit(uint _limit) {
		m_dailyLimit = _limit;
		m_lastDay = today();
	}
	// (re)sets the daily limit. needs many of the owners to confirm. doesn't alter the amount already spent today.
	function setDailyLimit(uint _newLimit) onlymanyowners(sha3(msg.data)) external {
		m_dailyLimit = _newLimit;
	}
	// resets the amount already spent today. needs many of the owners to confirm.
	function resetSpentToday() onlymanyowners(sha3(msg.data)) external {
		m_spentToday = 0;
	}

	// INTERNAL METHODS

	// checks to see if there is at least `_value` left from the daily limit today. if there is, subtracts it and
	// returns true. otherwise just returns false.
	function underLimit(uint _value) internal onlyowner returns (bool) {
		// reset the spend limit if we're on a different day to last time.
		if (today() > m_lastDay) {
			m_spentToday = 0;
			m_lastDay = today();
		}
		// check to see if there's enough left - if so, subtract and return true.
		// overflow protection                    // dailyLimit check
		if (m_spentToday + _value >= m_spentToday && m_spentToday + _value <= m_dailyLimit) {
			m_spentToday += _value;
			return true;
		}
		return false;
	}
	// determines today's index.
	function today() private constant returns (uint) { return now / 1 days; }

	// FIELDS

	uint public m_dailyLimit;
	uint public m_spentToday;
	uint public m_lastDay;
}

// interface contract for multisig proxy contracts; see below for docs.
contract multisig {

	// EVENTS

	// logged events:
	// Funds has arrived into the wallet (record how much).
	event Deposit(address _from, uint value);
	// Single transaction going out of the wallet (record who signed for it, how much, and to whom it's going).
	event SingleTransact(address owner, uint value, address to, bytes data, address created);
	// Multi-sig transaction going out of the wallet (record who signed for it last, the operation hash, how much, and to whom it's going).
	event MultiTransact(address owner, bytes32 operation, uint value, address to, bytes data, address created);
	// Confirmation still needed for a transaction.
	event ConfirmationNeeded(bytes32 operation, address initiator, uint value, address to, bytes data);

	// FUNCTIONS

	// TODO: document
	function changeOwner(address _from, address _to) external;
	function execute(address _to, uint _value, bytes _data) external returns (bytes32 o_hash);
	function confirm(bytes32 _h) returns (bool o_success);
}

contract creator {
	function doCreate(uint _value, bytes _code) internal returns (address o_addr) {
		bool failed;
		assembly {
			o_addr := create(_value, add(_code, 0x20), mload(_code))
			failed := iszero(extcodesize(o_addr))
		}
		require(!failed);
	}
}

// usage:
// bytes32 h = Wallet(w).from(oneOwner).execute(to, value, data);
// Wallet(w).from(anotherOwner).confirm(h);
contract Wallet is multisig, multiowned, daylimit, creator {

	// TYPES

	// Transaction structure to remember details of transaction lest it need be saved for a later call.
	struct Transaction {
		address to;
		uint value;
		bytes data;
	}

	// METHODS

	// constructor - just pass on the owner array to the multiowned and
	// the limit to daylimit
	function Wallet(address[] _owners, uint _required, uint _daylimit)
			multiowned(_owners, _required) daylimit(_daylimit) {
	}

	// kills the contract sending everything to `_to`.
	function kill(address _to) onlymanyowners(sha3(msg.data)) external {
		suicide(_to);
	}

	// gets called when no other function matches
	function() payable {
		// just being sent some cash?
		if (msg.value > 0)
			Deposit(msg.sender, msg.value);
	}

	// Outside-visible transact entry point. Executes transaction immediately if below daily spend limit.
	// If not, goes into multisig process. We provide a hash on return to allow the sender to provide
	// shortcuts for the other confirmations (allowing them to avoid replicating the _to, _value
	// and _data arguments). They still get the option of using them if they want, anyways.
	function execute(address _to, uint _value, bytes _data) external onlyowner returns (bytes32 o_hash) {
		// first, take the opportunity to check that we're under the daily limit.
		if ((_data.length == 0 && underLimit(_value)) || m_required == 1) {
			// yes - just execute the call.
			address created;
			if (_to == 0) {
				created = create(_value, _data);
			} else {
				require(_to.call.value(_value)(_data));
			}
			SingleTransact(msg.sender, _value, _to, _data, created);
		} else {
			// determine our operation hash.
			o_hash = sha3(msg.data, block.number);
			// store if it's new
			if (m_txs[o_hash].to == 0 && m_txs[o_hash].value == 0 && m_txs[o_hash].data.length == 0) {
				m_txs[o_hash].to = _to;
				m_txs[o_hash].value = _value;
				m_txs[o_hash].data = _data;
			}
			if (!confirm(o_hash)) {
				ConfirmationNeeded(o_hash, msg.sender, _value, _to, _data);
			}
		}
	}

	function create(uint _value, bytes _code) internal returns (address o_addr) {
		return doCreate(_value, _code);
	}

	// confirm a transaction through just the hash. we use the previous transactions map, m_txs, in order
	// to determine the body of the transaction from the hash provided.
	function confirm(bytes32 _h) onlymanyowners(_h) returns (bool o_success) {
		if (m_txs[_h].to != 0 || m_txs[_h].value != 0 || m_txs[_h].data.length != 0) {
			address created;
			if (m_txs[_h].to == 0) {
				created = create(m_txs[_h].value, m_txs[_h].data);
			} else {
				require(m_txs[_h].to.call.value(m_txs[_h].value)(m_txs[_h].data));
			}

			MultiTransact(msg.sender, _h, m_txs[_h].value, m_txs[_h].to, m_txs[_h].data, created);
			delete m_txs[_h];
			return true;
		}
	}

	// INTERNAL METHODS

	function clearPending() internal {
		uint length = m_pendingIndex.length;
		for (uint i = 0; i < length; ++i)
			delete m_txs[m_pendingIndex[i]];
		super.clearPending();
	}

	// FIELDS

	// pending transactions we have at present.
	mapping (bytes32 => Transaction) m_txs;
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"m_numOwners","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"m_lastDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"resetSpentToday","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"m_spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"m_required","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_h","type":"bytes32"}],"name":"confirm","outputs":[{"name":"o_success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newLimit","type":"uint256"}],"name":"setDailyLimit","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"execute","outputs":[{"name":"o_hash","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_operation","type":"bytes32"}],"name":"revoke","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newRequired","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_operation","type":"bytes32"},{"name":"_owner","type":"address"}],"name":"hasConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"ownerIndex","type":"uint256"}],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"m_dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_daylimit","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Revoke","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newRequirement","type":"uint256"}],"name":"RequirementChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"},{"indexed":false,"name":"created","type":"address"}],"name":"SingleTransact","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"},{"indexed":false,"name":"created","type":"address"}],"name":"MultiTransact","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"},{"indexed":false,"name":"initiator","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"data","type":"bytes"}],"name":"ConfirmationNeeded","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b604051620016f8380380620016f883398101604052808051820191906020018051919060200180519150505b805b83835b60008082116200005057600080fd5b81835110156200005f57600080fd5b82516001555060005b8251811015620000ee578281815181106200007f57fe5b90602001906020020151600160a060020a03166002600183016101008110620000a457fe5b0160005b5055600181016101026000858481518110620000c057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020555b60010162000068565b60008290555b50505061010581905562000115640100000000620014246200012582021704565b610107555b505b50505062000134565b600062015180425b0490505b90565b6115b480620001446000396000f300606060405236156100f95763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663173825d981146101505780632f54bf6e146101715780634123cb6b146101a457806352375093146101c95780635c52c2f5146101ee578063659010e7146102035780637065cb4814610228578063746c917114610249578063797af6271461026e578063b20d30a914610298578063b61d27f6146102b0578063b75c7dc6146102f1578063ba51a6df14610309578063c2cf732614610321578063c41a360a14610357578063cbf0b0c014610389578063f00d4b5d146103aa578063f1736d86146103d1575b61014e5b600034111561014b577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3334604051600160a060020a03909216825260208201526040908101905180910390a15b5b565b005b341561015b57600080fd5b61014e600160a060020a03600435166103f6565b005b341561017c57600080fd5b610190600160a060020a03600435166104e3565b604051901515815260200160405180910390f35b34156101af57600080fd5b6101b7610504565b60405190815260200160405180910390f35b34156101d457600080fd5b6101b761050a565b60405190815260200160405180910390f35b34156101f957600080fd5b61014e610511565b005b341561020e57600080fd5b6101b7610549565b60405190815260200160405180910390f35b341561023357600080fd5b61014e600160a060020a0360043516610550565b005b341561025457600080fd5b6101b761064a565b60405190815260200160405180910390f35b341561027957600080fd5b610190600435610650565b604051901515815260200160405180910390f35b34156102a357600080fd5b61014e6004356109c0565b005b34156102bb57600080fd5b6101b760048035600160a060020a03169060248035916044359182019101356109f9565b60405190815260200160405180910390f35b34156102fc57600080fd5b61014e600435610cb5565b005b341561031457600080fd5b61014e600435610d60565b005b341561032c57600080fd5b610190600435600160a060020a0360243516610dee565b604051901515815260200160405180910390f35b341561036257600080fd5b61036d600435610e43565b604051600160a060020a03909116815260200160405180910390f35b341561039457600080fd5b61014e600160a060020a0360043516610e64565b005b34156103b557600080fd5b61014e600160a060020a0360043581169060243516610ea2565b005b34156103dc57600080fd5b6101b7610fa9565b60405190815260200160405180910390f35b6000803660405180838380828437820191505092505050604051809103902061041e81610fb0565b156104dc57600160a060020a03831660009081526101026020526040902054915081151561044b576104dc565b6001805403600054111561045e576104dc565b6000600283610100811061046e57fe5b0160005b5055600160a060020a0383166000908152610102602052604081205561049661111b565b61049e6111a9565b7f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da83604051600160a060020a03909116815260200160405180910390a15b5b5b505050565b600160a060020a03811660009081526101026020526040812054115b919050565b60015481565b6101075481565b60003660405180838380828437820191505092505050604051809103902061053881610fb0565b15610544576000610106555b5b5b50565b6101065481565b60003660405180838380828437820191505092505050604051809103902061057781610fb0565b1561064457610585826104e3565b1561058f57610644565b61059761111b565b60015460fa90106105aa576105aa6111a9565b5b60015460fa90106105bb57610644565b60018054810190819055600160a060020a0383169060029061010081106105de57fe5b0160005b5055600154600160a060020a0383166000908152610102602052604090819020919091557f994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c390839051600160a060020a03909116815260200160405180910390a15b5b5b5050565b60005481565b6000808261065d81610fb0565b156109b65760008481526101086020526040902054600160a060020a031615158061069957506000848152610108602052604090206001015415155b806106c6575060008481526101086020526040902060029081015461010060018216150260001901160415155b156109b65760008481526101086020526040902054600160a060020a031615156107b55760008481526101086020908152604091829020600180820154600292830180546107ae9692959194610100948216159490940260001901169290920491601f8301819004810201905190810160405280929190818152602001828054600181600116156101000203166002900480156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b50505050506112e4565b9150610867565b600084815261010860205260409081902080546001820154600160a060020a03909116929091600201905180828054600181600116156101000203166002900480156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b505091505060006040518083038185876187965a03f192505050151561086757600080fd5b5b6000848152610108602052604090819020600181015481547fe3a3a4111a84df27d76b68dc721e65c7711605ea5eee4afd3a9c58195217365c933393899392600160a060020a031691600290910190889051600160a060020a03808816825260208201879052604082018690528481166060830152821660a082015260c0608082018181528454600261010060018316150260001901909116049183018290529060e08301908590801561095d5780601f106109325761010080835404028352916020019161095d565b820191906000526020600020905b81548152906001019060200180831161094057829003601f168201915b505097505050505050505060405180910390a1600084815261010860205260408120805473ffffffffffffffffffffffffffffffffffffffff1916815560018101829055906109af6002830182611433565b5050600192505b5b5b5b5050919050565b6000366040518083838082843782019150509250505060405180910390206109e781610fb0565b15610644576101058290555b5b5b5050565b600080610a05336104e3565b15610ca85782158015610a1c5750610a1c856112f9565b5b80610a2a57506000546001145b15610b4157600160a060020a0386161515610a7f57610a788585858080601f0160208091040260200160405190810160405281815292919060208401838380828437506112e4945050505050565b9050610abf565b85600160a060020a03168585856040518083838082843782019150509250505060006040518083038185876187965a03f1925050501515610abf57600080fd5b5b7f9738cd1a8777c86b011f7b01d87d484217dc6ab5154a9d41eda5d14af8caf292338688878786604051600160a060020a0380881682526020820187905285811660408301528216608082015260a06060820181815290820184905260c08201858580828437820191505097505050505050505060405180910390a1610ca8565b600036436040518084848082843790910192835250506020019150604090505190819003902060008181526101086020526040902054909250600160a060020a0316158015610ba0575060008281526101086020526040902060010154155b8015610bcd5750600082815261010860205260409020600290810154610100600182161502600019011604155b15610c1e57600082815261010860205260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03881617815560018101869055610c1c90600201858561147b565b505b610c2782610650565b1515610ca8577f1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf32823387898888604051868152600160a060020a038087166020830152604082018690528416606082015260a06080820181815290820183905260c08201848480828437820191505097505050505050505060405180910390a15b5b5b5b5b50949350505050565b600160a060020a033316600090815261010260205260408120549080821515610cdd57610d59565b50506000828152610103602052604081206001810154600284900a929083161115610d59578054600190810182558101805483900390557fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b3385604051600160a060020a03909216825260208201526040908101905180910390a15b5b50505050565b600036604051808383808284378201915050925050506040518091039020610d8781610fb0565b1561064457811515610d9857610644565b600154821115610da757610644565b6000829055610db461111b565b7facbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da8260405190815260200160405180910390a15b5b5b5050565b600082815261010360209081526040808320600160a060020a038516845261010290925282205482811515610e265760009350610e3a565b8160020a9050808360010154166000141593505b50505092915050565b60006002600183016101008110610e5657fe5b0160005b505490505b919050565b600036604051808383808284378201915050925050506040518091039020610e8b81610fb0565b156106445781600160a060020a0316ff5b5b5b5050565b60008036604051808383808284378201915050925050506040518091039020610eca81610fb0565b15610d5957610ed8836104e3565b15610ee257610d59565b600160a060020a038416600090815261010260205260409020549150811515610f0a57610d59565b610f1261111b565b600160a060020a0383166002836101008110610f2a57fe5b0160005b5055600160a060020a038085166000908152610102602052604080822082905591851681528190208390557fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c908590859051600160a060020a039283168152911660208201526040908101905180910390a15b5b5b50505050565b6101055481565b600160a060020a033316600090815261010260205260408120548180821515610fd857611111565b6000858152610103602052604090208054909250151561103b57600080548355600180840191909155610104805491611013919083016114fa565b600283018190556101048054879290811061102a57fe5b906000526020600020900160005b50555b8260020a90508082600101541660001415611111577fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda3386604051600160a060020a03909216825260208201526040908101905180910390a18154600114156110fe5760008581526101036020526040902060020154610104805490919081106110c157fe5b906000526020600020900160005b506000908190558581526101036020526040812081815560018082018390556002909101919091559350611111565b8154600019018255600182018054821790555b5b5b505050919050565b6101045460005b8181101561119c5761010860006101048381548110151561113f57fe5b906000526020600020900160005b5054815260208101919091526040016000908120805473ffffffffffffffffffffffffffffffffffffffff1916815560018101829055906111916002830182611433565b50505b600101611122565b61064461136c565b5b5050565b60015b600154811015610544575b600154811080156111da575060028161010081106111d157fe5b0160005b505415155b156111e7576001016111b7565b5b6001805411801561120d5750600154600290610100811061120557fe5b0160005b5054155b1561122157600180546000190190556111e7565b600154811080156112475750600154600290610100811061123e57fe5b0160005b505415155b80156112645750600281610100811061125c57fe5b0160005b5054155b156112db57600154600290610100811061127a57fe5b0160005b5054600282610100811061128e57fe5b0160005b505580610102600060028361010081106112a857fe5b0160005b505481526020019081526020016000208190555060006002600154610100811015156112d457fe5b0160005b50555b6111ac565b5b50565b60006112f08383611400565b90505b92915050565b6000611304336104e3565b156104ff5761010754611315611424565b111561132e57600061010655611329611424565b610107555b610106548281011080159061134b57506101055482610106540111155b15611361575061010680548201905560016104ff565b5060005b5b5b919050565b6101045460005b818110156113ee5761010480548290811061138a57fe5b906000526020600020900160005b5054156113e5576101036000610104838154811015156113b457fe5b906000526020600020900160005b505481526020810191909152604001600090812081815560018101829055600201555b5b600101611373565b6106446101046000611524565b5b5050565b60008082516020840185f0915050803b15801561141c57600080fd5b5b5092915050565b600062015180425b0490505b90565b50805460018160011615610100020316600290046000825580601f106114595750610544565b601f0160209004906000526020600020908101906105449190611546565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114bc5782800160ff198235161785556114e9565b828001600101855582156114e9579182015b828111156114e95782358255916020019190600101906114ce565b5b506114f6929150611546565b5090565b8154818355818115116104dc576000838152602090206104dc918101908301611546565b5b505050565b50805460008255906000526020600020908101906105449190611546565b5b50565b61143091905b808211156114f6576000815560010161154c565b5090565b90565b61143091905b808211156114f6576000815560010161154c565b5090565b905600a165627a7a72305820acb708e271151ef4be1293b46bbc1a32954d897c77f2d0231fca6135baa72b2f0029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000730819b8b1f47022a9a40c6cc55b8014c4c2da

   Swarm Source:
bzzr://acb708e271151ef4be1293b46bbc1a32954d897c77f2d0231fca6135baa72b2f
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.