More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Confirm Transact... | 14390250 | 1084 days ago | IN | 0 ETH | 0.00315175 | ||||
Confirm Transact... | 14390244 | 1084 days ago | IN | 0 ETH | 0.00190907 | ||||
Confirm Transact... | 14388804 | 1084 days ago | IN | 0 ETH | 0.00520548 | ||||
Submit Transacti... | 14384128 | 1085 days ago | IN | 0 ETH | 0.00450925 | ||||
Confirm Transact... | 9830922 | 1790 days ago | IN | 0 ETH | 0.00087021 | ||||
Confirm Transact... | 9830904 | 1790 days ago | IN | 0 ETH | 0.00084415 | ||||
Confirm Transact... | 9830883 | 1790 days ago | IN | 0 ETH | 0.00076658 | ||||
Submit Transacti... | 9830814 | 1790 days ago | IN | 0 ETH | 0.00172211 | ||||
Confirm Transact... | 7770147 | 2118 days ago | IN | 0 ETH | 0.00219704 | ||||
Confirm Transact... | 7770137 | 2118 days ago | IN | 0 ETH | 0.00109464 | ||||
Confirm Transact... | 7770124 | 2118 days ago | IN | 0 ETH | 0.00114907 | ||||
Submit Transacti... | 7770111 | 2118 days ago | IN | 0 ETH | 0.00373014 | ||||
Confirm Transact... | 7769943 | 2118 days ago | IN | 0 ETH | 0.00201668 | ||||
Confirm Transact... | 7769928 | 2118 days ago | IN | 0 ETH | 0.00109464 | ||||
Confirm Transact... | 7769914 | 2118 days ago | IN | 0 ETH | 0.00114907 | ||||
Submit Transacti... | 7769902 | 2118 days ago | IN | 0 ETH | 0.00374358 | ||||
Confirm Transact... | 6414174 | 2348 days ago | IN | 0 ETH | 0.00103172 | ||||
Confirm Transact... | 6414163 | 2348 days ago | IN | 0 ETH | 0.00111925 | ||||
Confirm Transact... | 6414150 | 2348 days ago | IN | 0 ETH | 0.00054732 | ||||
Confirm Transact... | 6414135 | 2348 days ago | IN | 0 ETH | 0.00054718 | ||||
Submit Transacti... | 6414110 | 2348 days ago | IN | 0 ETH | 0.00197875 | ||||
Confirm Transact... | 6371707 | 2355 days ago | IN | 0 ETH | 0.00038859 | ||||
Confirm Transact... | 6371630 | 2355 days ago | IN | 0 ETH | 0.00043774 | ||||
Submit Transacti... | 6371584 | 2355 days ago | IN | 0 ETH | 0.00126523 | ||||
Confirm Transact... | 5622960 | 2483 days ago | IN | 0 ETH | 0.00089326 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
MultiSigWalletWithDailyLimit
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-10 */ pragma solidity ^0.4.4; /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution. /// @author Stefan George - <[email protected]> contract MultiSigWallet { uint constant public MAX_OWNER_COUNT = 50; event Confirmation(address indexed sender, uint indexed transactionId); event Revocation(address indexed sender, uint indexed transactionId); event Submission(uint indexed transactionId); event Execution(uint indexed transactionId); event ExecutionFailure(uint indexed transactionId); event Deposit(address indexed sender, uint value); event OwnerAddition(address indexed owner); event OwnerRemoval(address indexed owner); event RequirementChange(uint required); mapping (uint => Transaction) public transactions; mapping (uint => mapping (address => bool)) public confirmations; mapping (address => bool) public isOwner; address[] public owners; uint public required; uint public transactionCount; struct Transaction { address destination; uint value; bytes data; bool executed; } modifier onlyWallet() { if (msg.sender != address(this)) throw; _; } modifier ownerDoesNotExist(address owner) { if (isOwner[owner]) throw; _; } modifier ownerExists(address owner) { if (!isOwner[owner]) throw; _; } modifier transactionExists(uint transactionId) { if (transactions[transactionId].destination == 0) throw; _; } modifier confirmed(uint transactionId, address owner) { if (!confirmations[transactionId][owner]) throw; _; } modifier notConfirmed(uint transactionId, address owner) { if (confirmations[transactionId][owner]) throw; _; } modifier notExecuted(uint transactionId) { if (transactions[transactionId].executed) throw; _; } modifier notNull(address _address) { if (_address == 0) throw; _; } modifier validRequirement(uint ownerCount, uint _required) { if ( ownerCount > MAX_OWNER_COUNT || _required > ownerCount || _required == 0 || ownerCount == 0) throw; _; } /// @dev Fallback function allows to deposit ether. function() payable { if (msg.value > 0) Deposit(msg.sender, msg.value); } /* * Public functions */ /// @dev Contract constructor sets initial owners and required number of confirmations. /// @param _owners List of initial owners. /// @param _required Number of required confirmations. function MultiSigWallet(address[] _owners, uint _required) public validRequirement(_owners.length, _required) { for (uint i=0; i<_owners.length; i++) { if (isOwner[_owners[i]] || _owners[i] == 0) throw; isOwner[_owners[i]] = true; } owners = _owners; required = _required; } /// @dev Allows to add a new owner. Transaction has to be sent by wallet. /// @param owner Address of new owner. function addOwner(address owner) public onlyWallet ownerDoesNotExist(owner) notNull(owner) validRequirement(owners.length + 1, required) { isOwner[owner] = true; owners.push(owner); OwnerAddition(owner); } /// @dev Allows to remove an owner. Transaction has to be sent by wallet. /// @param owner Address of owner. function removeOwner(address owner) public onlyWallet ownerExists(owner) { isOwner[owner] = false; for (uint i=0; i<owners.length - 1; i++) if (owners[i] == owner) { owners[i] = owners[owners.length - 1]; break; } owners.length -= 1; if (required > owners.length) changeRequirement(owners.length); OwnerRemoval(owner); } /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet. /// @param owner Address of owner to be replaced. /// @param owner Address of new owner. function replaceOwner(address owner, address newOwner) public onlyWallet ownerExists(owner) ownerDoesNotExist(newOwner) { for (uint i=0; i<owners.length; i++) if (owners[i] == owner) { owners[i] = newOwner; break; } isOwner[owner] = false; isOwner[newOwner] = true; OwnerRemoval(owner); OwnerAddition(newOwner); } /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. /// @param _required Number of required confirmations. function changeRequirement(uint _required) public onlyWallet validRequirement(owners.length, _required) { required = _required; RequirementChange(_required); } /// @dev Allows an owner to submit and confirm a transaction. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function submitTransaction(address destination, uint value, bytes data) public returns (uint transactionId) { transactionId = addTransaction(destination, value, data); confirmTransaction(transactionId); } /// @dev Allows an owner to confirm a transaction. /// @param transactionId Transaction ID. function confirmTransaction(uint transactionId) public ownerExists(msg.sender) transactionExists(transactionId) notConfirmed(transactionId, msg.sender) { confirmations[transactionId][msg.sender] = true; Confirmation(msg.sender, transactionId); executeTransaction(transactionId); } /// @dev Allows an owner to revoke a confirmation for a transaction. /// @param transactionId Transaction ID. function revokeConfirmation(uint transactionId) public ownerExists(msg.sender) confirmed(transactionId, msg.sender) notExecuted(transactionId) { confirmations[transactionId][msg.sender] = false; Revocation(msg.sender, transactionId); } /// @dev Allows anyone to execute a confirmed transaction. /// @param transactionId Transaction ID. function executeTransaction(uint transactionId) public notExecuted(transactionId) { if (isConfirmed(transactionId)) { Transaction tx = transactions[transactionId]; tx.executed = true; if (tx.destination.call.value(tx.value)(tx.data)) Execution(transactionId); else { ExecutionFailure(transactionId); tx.executed = false; } } } /// @dev Returns the confirmation status of a transaction. /// @param transactionId Transaction ID. /// @return Confirmation status. function isConfirmed(uint transactionId) public constant returns (bool) { uint count = 0; for (uint i=0; i<owners.length; i++) { if (confirmations[transactionId][owners[i]]) count += 1; if (count == required) return true; } } /* * Internal functions */ /// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet. /// @param destination Transaction target address. /// @param value Transaction ether value. /// @param data Transaction data payload. /// @return Returns transaction ID. function addTransaction(address destination, uint value, bytes data) internal notNull(destination) returns (uint transactionId) { transactionId = transactionCount; transactions[transactionId] = Transaction({ destination: destination, value: value, data: data, executed: false }); transactionCount += 1; Submission(transactionId); } /* * Web3 call functions */ /// @dev Returns number of confirmations of a transaction. /// @param transactionId Transaction ID. /// @return Number of confirmations. function getConfirmationCount(uint transactionId) public constant returns (uint count) { for (uint i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) count += 1; } /// @dev Returns total number of transactions after filers are applied. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Total number of transactions after filters are applied. function getTransactionCount(bool pending, bool executed) public constant returns (uint count) { for (uint i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) count += 1; } /// @dev Returns list of owners. /// @return List of owner addresses. function getOwners() public constant returns (address[]) { return owners; } /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. /// @return Returns array of owner addresses. function getConfirmations(uint transactionId) public constant returns (address[] _confirmations) { address[] memory confirmationsTemp = new address[](owners.length); uint count = 0; uint i; for (i=0; i<owners.length; i++) if (confirmations[transactionId][owners[i]]) { confirmationsTemp[count] = owners[i]; count += 1; } _confirmations = new address[](count); for (i=0; i<count; i++) _confirmations[i] = confirmationsTemp[i]; } /// @dev Returns list of transaction IDs in defined range. /// @param from Index start position of transaction array. /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. /// @return Returns array of transaction IDs. function getTransactionIds(uint from, uint to, bool pending, bool executed) public constant returns (uint[] _transactionIds) { uint[] memory transactionIdsTemp = new uint[](transactionCount); uint count = 0; uint i; for (i=0; i<transactionCount; i++) if ( pending && !transactions[i].executed || executed && transactions[i].executed) { transactionIdsTemp[count] = i; count += 1; } _transactionIds = new uint[](to - from); for (i=from; i<to; i++) _transactionIds[i - from] = transactionIdsTemp[i]; } } /// @title Multisignature wallet with daily limit - Allows an owner to withdraw a daily limit without multisig. /// @author Stefan George - <[email protected]> contract MultiSigWalletWithDailyLimit is MultiSigWallet { event DailyLimitChange(uint dailyLimit); uint public dailyLimit; uint public lastDay; uint public spentToday; /* * Public functions */ /// @dev Contract constructor sets initial owners, required number of confirmations and daily withdraw limit. /// @param _owners List of initial owners. /// @param _required Number of required confirmations. /// @param _dailyLimit Amount in wei, which can be withdrawn without confirmations on a daily basis. function MultiSigWalletWithDailyLimit(address[] _owners, uint _required, uint _dailyLimit) public MultiSigWallet(_owners, _required) { dailyLimit = _dailyLimit; } /// @dev Allows to change the daily limit. Transaction has to be sent by wallet. /// @param _dailyLimit Amount in wei. function changeDailyLimit(uint _dailyLimit) public onlyWallet { dailyLimit = _dailyLimit; DailyLimitChange(_dailyLimit); } /// @dev Allows anyone to execute a confirmed transaction or ether withdraws until daily limit is reached. /// @param transactionId Transaction ID. function executeTransaction(uint transactionId) public notExecuted(transactionId) { Transaction tx = transactions[transactionId]; bool confirmed = isConfirmed(transactionId); if (confirmed || tx.data.length == 0 && isUnderLimit(tx.value)) { tx.executed = true; if (!confirmed) spentToday += tx.value; if (tx.destination.call.value(tx.value)(tx.data)) Execution(transactionId); else { ExecutionFailure(transactionId); tx.executed = false; if (!confirmed) spentToday -= tx.value; } } } /* * Internal functions */ /// @dev Returns if amount is within daily limit and resets spentToday after one day. /// @param amount Amount to withdraw. /// @return Returns if amount is under daily limit. function isUnderLimit(uint amount) internal returns (bool) { if (now > lastDay + 24 hours) { lastDay = now; spentToday = 0; } if (spentToday + amount > dailyLimit || spentToday + amount < spentToday) return false; return true; } /* * Web3 call functions */ /// @dev Returns maximum withdraw amount. /// @return Returns amount. function calcMaxWithdraw() public constant returns (uint) { if (now > lastDay + 24 hours) return dailyLimit; if (dailyLimit < spentToday) return 0; return dailyLimit - spentToday; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"calcMaxWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"_transactionIds","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"changeDailyLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_dailyLimit","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dailyLimit","type":"uint256"}],"name":"DailyLimitChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Revocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Submission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerAddition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"required","type":"uint256"}],"name":"RequirementChange","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620018ce380380620018ce833981016040908152815160208301519183015192018051909290839083906000908260328211806200005257508181115b806200005c575080155b8062000066575081155b156200007157600080fd5b600092505b845183101562000145576002600086858151811015156200009357fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1680620000e657508483815181101515620000cf57fe5b90602001906020020151600160a060020a03166000145b15620000f157600080fd5b60016002600087868151811015156200010657fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001929092019162000076565b84516200015a90600390602088019062000171565b505050600491909155505060065550620002059050565b828054828255906000526020600020908101928215620001c9579160200282015b82811115620001c95782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019062000192565b50620001d7929150620001db565b5090565b6200020291905b80821115620001d7578054600160a060020a0319168155600101620001e2565b90565b6116b980620002156000396000f3006080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461019e578063173825d9146101d257806320ea8d86146101f35780632f54bf6e1461020b5780633411c81c146102405780634bc9fdc214610264578063547415251461028b57806367eeba0c146102aa5780636b0c932d146102bf5780637065cb48146102d4578063784547a7146102f55780638b51d13f1461030d5780639ace38c214610325578063a0e67e2b146103e0578063a8abe69a14610445578063b5dc40c31461046a578063b77bf60014610482578063ba51a6df14610497578063c01a8c84146104af578063c6427474146104c7578063cea0862114610530578063d74f8edd14610548578063dc8452cd1461055d578063e20056e614610572578063ee22610b14610599578063f059cf2b146105b1575b600034111561019c57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b3480156101aa57600080fd5b506101b66004356105c6565b60408051600160a060020a039092168252519081900360200190f35b3480156101de57600080fd5b5061019c600160a060020a03600435166105ee565b3480156101ff57600080fd5b5061019c600435610779565b34801561021757600080fd5b5061022c600160a060020a036004351661084f565b604080519115158252519081900360200190f35b34801561024c57600080fd5b5061022c600435600160a060020a0360243516610864565b34801561027057600080fd5b50610279610884565b60408051918252519081900360200190f35b34801561029757600080fd5b50610279600435151560243515156108be565b3480156102b657600080fd5b5061027961092a565b3480156102cb57600080fd5b50610279610930565b3480156102e057600080fd5b5061019c600160a060020a0360043516610936565b34801561030157600080fd5b5061022c600435610a67565b34801561031957600080fd5b50610279600435610aeb565b34801561033157600080fd5b5061033d600435610b5a565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156103a257818101518382015260200161038a565b50505050905090810190601f1680156103cf5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156103ec57600080fd5b506103f5610c18565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610431578181015183820152602001610419565b505050509050019250505060405180910390f35b34801561045157600080fd5b506103f560043560243560443515156064351515610c7a565b34801561047657600080fd5b506103f5600435610db3565b34801561048e57600080fd5b50610279610f2c565b3480156104a357600080fd5b5061019c600435610f32565b3480156104bb57600080fd5b5061019c600435610fbd565b3480156104d357600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610279948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110a49650505050505050565b34801561053c57600080fd5b5061019c6004356110c3565b34801561055457600080fd5b5061027961111e565b34801561056957600080fd5b50610279611123565b34801561057e57600080fd5b5061019c600160a060020a0360043581169060243516611129565b3480156105a557600080fd5b5061019c6004356112c7565b3480156105bd57600080fd5b5061027961148e565b60038054829081106105d457fe5b600091825260209091200154600160a060020a0316905081565b600030600160a060020a031633600160a060020a031614151561061057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561063957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156107145782600160a060020a031660038381548110151561068357fe5b600091825260209091200154600160a060020a03161415610709576003805460001981019081106106b057fe5b60009182526020909120015460038054600160a060020a0390921691849081106106d657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610714565b60019091019061065c565b60038054600019019061072790826115cc565b5060035460045411156107405760035461074090610f32565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b33600160a060020a03811660009081526002602052604090205460ff1615156107a157600080fd5b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff1615156107d657600080fd5b600084815260208190526040902060030154849060ff16156107f757600080fd5b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000600754620151800142111561089e57506006546108bb565b60085460065410156108b2575060006108bb565b50600854600654035b90565b6000805b600554811015610923578380156108eb575060008181526020819052604090206003015460ff16155b8061090f575082801561090f575060008181526020819052604090206003015460ff165b1561091b576001820191505b6001016108c2565b5092915050565b60065481565b60075481565b30600160a060020a031633600160a060020a031614151561095657600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561097e57600080fd5b81600160a060020a038116151561099457600080fd5b60038054905060010160045460328211806109ae57508181115b806109b7575080155b806109c0575081155b156109ca57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610ae45760008481526001602052604081206003805491929184908110610a9557fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610ac9576001820191505b600454821415610adc5760019250610ae4565b600101610a6c565b5050919050565b6000805b600354811015610b545760008381526001602052604081206003805491929184908110610b1857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610b4c576001820191505b600101610aef565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610c055780601f10610bda57610100808354040283529160200191610c05565b820191906000526020600020905b815481529060010190602001808311610be857829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610c7057602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c52575b5050505050905090565b606080600080600554604051908082528060200260200182016040528015610cac578160200160208202803883390190505b50925060009150600090505b600554811015610d3357858015610ce1575060008181526020819052604090206003015460ff16155b80610d055750848015610d05575060008181526020819052604090206003015460ff165b15610d2b57808383815181101515610d1957fe5b60209081029091010152600191909101905b600101610cb8565b878703604051908082528060200260200182016040528015610d5f578160200160208202803883390190505b5093508790505b86811015610da8578281815181101515610d7c57fe5b9060200190602002015184898303815181101515610d9657fe5b60209081029091010152600101610d66565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610de8578160200160208202803883390190505b50925060009150600090505b600354811015610ea55760008581526001602052604081206003805491929184908110610e1d57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610e9d576003805482908110610e5857fe5b6000918252602090912001548351600160a060020a0390911690849084908110610e7e57fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610df4565b81604051908082528060200260200182016040528015610ecf578160200160208202803883390190505b509350600090505b81811015610f24578281815181101515610eed57fe5b906020019060200201518482815181101515610f0557fe5b600160a060020a03909216602092830290910190910152600101610ed7565b505050919050565b60055481565b30600160a060020a031633600160a060020a0316141515610f5257600080fd5b600354816032821180610f6457508181115b80610f6d575080155b80610f76575081155b15610f8057600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b33600160a060020a03811660009081526002602052604090205460ff161515610fe557600080fd5b6000828152602081905260409020548290600160a060020a0316151561100a57600080fd5b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561103e57600080fd5b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361109d856112c7565b5050505050565b60006110b1848484611494565b90506110bc81610fbd565b9392505050565b30600160a060020a031633600160a060020a03161415156110e357600080fd5b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b603281565b60045481565b600030600160a060020a031633600160a060020a031614151561114b57600080fd5b600160a060020a038316600090815260026020526040902054839060ff16151561117457600080fd5b600160a060020a038316600090815260026020526040902054839060ff161561119c57600080fd5b600092505b60035483101561122d5784600160a060020a03166003848154811015156111c457fe5b600091825260209091200154600160a060020a0316141561122257836003848154811015156111ef57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a0316021790555061122d565b6001909201916111a1565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6000818152602081905260408120600301548190839060ff16156112ea57600080fd5b6000848152602081905260409020925061130384610a67565b91508180611336575060028084015460001961010060018316150201160415801561133657506113368360010154611584565b156114885760038301805460ff191660011790558115156113605760018301546008805490910190555b8260000160009054906101000a9004600160a060020a0316600160a060020a031683600101548460020160405180828054600181600116156101000203166002900480156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505091505060006040518083038185875af1925050501561143a5760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611488565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515611488576001830154600880549190910390555b50505050565b60085481565b600083600160a060020a03811615156114ac57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261152c9260028501929101906115f5565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000600754620151800142111561159f574260075560006008555b600654826008540111806115b65750600854828101105b156115c3575060006115c7565b5060015b919050565b8154818355818111156115f0576000838152602090206115f0918101908301611673565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061163657805160ff1916838001178555611663565b82800160010185558215611663579182015b82811115611663578251825591602001919060010190611648565b5061166f929150611673565b5090565b6108bb91905b8082111561166f57600081556001016116795600a165627a7a72305820a5b105746e62693725516cdcd815abd988003c58f75c631c52612b0635dd895100290000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000f2d5c484e662d5aba856607756d622980acb11ce00000000000000000000000000cb02093b426d6ea221a670c65729dac9cd361c00000000000000000000000000f25de5c07121c7ecb6f458ea4a0c4f44928a370000000000000000000000005fbb7614765568bd5f88f174dc0779b8f9fffc58000000000000000000000000836b67cd033a36b77308fedf3daef76fd4a9ca29000000000000000000000000d08a079cb9c6c91e15875adaff8031a41cb8c0d6
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461019e578063173825d9146101d257806320ea8d86146101f35780632f54bf6e1461020b5780633411c81c146102405780634bc9fdc214610264578063547415251461028b57806367eeba0c146102aa5780636b0c932d146102bf5780637065cb48146102d4578063784547a7146102f55780638b51d13f1461030d5780639ace38c214610325578063a0e67e2b146103e0578063a8abe69a14610445578063b5dc40c31461046a578063b77bf60014610482578063ba51a6df14610497578063c01a8c84146104af578063c6427474146104c7578063cea0862114610530578063d74f8edd14610548578063dc8452cd1461055d578063e20056e614610572578063ee22610b14610599578063f059cf2b146105b1575b600034111561019c57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b3480156101aa57600080fd5b506101b66004356105c6565b60408051600160a060020a039092168252519081900360200190f35b3480156101de57600080fd5b5061019c600160a060020a03600435166105ee565b3480156101ff57600080fd5b5061019c600435610779565b34801561021757600080fd5b5061022c600160a060020a036004351661084f565b604080519115158252519081900360200190f35b34801561024c57600080fd5b5061022c600435600160a060020a0360243516610864565b34801561027057600080fd5b50610279610884565b60408051918252519081900360200190f35b34801561029757600080fd5b50610279600435151560243515156108be565b3480156102b657600080fd5b5061027961092a565b3480156102cb57600080fd5b50610279610930565b3480156102e057600080fd5b5061019c600160a060020a0360043516610936565b34801561030157600080fd5b5061022c600435610a67565b34801561031957600080fd5b50610279600435610aeb565b34801561033157600080fd5b5061033d600435610b5a565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156103a257818101518382015260200161038a565b50505050905090810190601f1680156103cf5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156103ec57600080fd5b506103f5610c18565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610431578181015183820152602001610419565b505050509050019250505060405180910390f35b34801561045157600080fd5b506103f560043560243560443515156064351515610c7a565b34801561047657600080fd5b506103f5600435610db3565b34801561048e57600080fd5b50610279610f2c565b3480156104a357600080fd5b5061019c600435610f32565b3480156104bb57600080fd5b5061019c600435610fbd565b3480156104d357600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610279948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110a49650505050505050565b34801561053c57600080fd5b5061019c6004356110c3565b34801561055457600080fd5b5061027961111e565b34801561056957600080fd5b50610279611123565b34801561057e57600080fd5b5061019c600160a060020a0360043581169060243516611129565b3480156105a557600080fd5b5061019c6004356112c7565b3480156105bd57600080fd5b5061027961148e565b60038054829081106105d457fe5b600091825260209091200154600160a060020a0316905081565b600030600160a060020a031633600160a060020a031614151561061057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561063957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156107145782600160a060020a031660038381548110151561068357fe5b600091825260209091200154600160a060020a03161415610709576003805460001981019081106106b057fe5b60009182526020909120015460038054600160a060020a0390921691849081106106d657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610714565b60019091019061065c565b60038054600019019061072790826115cc565b5060035460045411156107405760035461074090610f32565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b33600160a060020a03811660009081526002602052604090205460ff1615156107a157600080fd5b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff1615156107d657600080fd5b600084815260208190526040902060030154849060ff16156107f757600080fd5b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000600754620151800142111561089e57506006546108bb565b60085460065410156108b2575060006108bb565b50600854600654035b90565b6000805b600554811015610923578380156108eb575060008181526020819052604090206003015460ff16155b8061090f575082801561090f575060008181526020819052604090206003015460ff165b1561091b576001820191505b6001016108c2565b5092915050565b60065481565b60075481565b30600160a060020a031633600160a060020a031614151561095657600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561097e57600080fd5b81600160a060020a038116151561099457600080fd5b60038054905060010160045460328211806109ae57508181115b806109b7575080155b806109c0575081155b156109ca57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610ae45760008481526001602052604081206003805491929184908110610a9557fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610ac9576001820191505b600454821415610adc5760019250610ae4565b600101610a6c565b5050919050565b6000805b600354811015610b545760008381526001602052604081206003805491929184908110610b1857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610b4c576001820191505b600101610aef565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610c055780601f10610bda57610100808354040283529160200191610c05565b820191906000526020600020905b815481529060010190602001808311610be857829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610c7057602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c52575b5050505050905090565b606080600080600554604051908082528060200260200182016040528015610cac578160200160208202803883390190505b50925060009150600090505b600554811015610d3357858015610ce1575060008181526020819052604090206003015460ff16155b80610d055750848015610d05575060008181526020819052604090206003015460ff165b15610d2b57808383815181101515610d1957fe5b60209081029091010152600191909101905b600101610cb8565b878703604051908082528060200260200182016040528015610d5f578160200160208202803883390190505b5093508790505b86811015610da8578281815181101515610d7c57fe5b9060200190602002015184898303815181101515610d9657fe5b60209081029091010152600101610d66565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610de8578160200160208202803883390190505b50925060009150600090505b600354811015610ea55760008581526001602052604081206003805491929184908110610e1d57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610e9d576003805482908110610e5857fe5b6000918252602090912001548351600160a060020a0390911690849084908110610e7e57fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610df4565b81604051908082528060200260200182016040528015610ecf578160200160208202803883390190505b509350600090505b81811015610f24578281815181101515610eed57fe5b906020019060200201518482815181101515610f0557fe5b600160a060020a03909216602092830290910190910152600101610ed7565b505050919050565b60055481565b30600160a060020a031633600160a060020a0316141515610f5257600080fd5b600354816032821180610f6457508181115b80610f6d575080155b80610f76575081155b15610f8057600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b33600160a060020a03811660009081526002602052604090205460ff161515610fe557600080fd5b6000828152602081905260409020548290600160a060020a0316151561100a57600080fd5b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561103e57600080fd5b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361109d856112c7565b5050505050565b60006110b1848484611494565b90506110bc81610fbd565b9392505050565b30600160a060020a031633600160a060020a03161415156110e357600080fd5b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b603281565b60045481565b600030600160a060020a031633600160a060020a031614151561114b57600080fd5b600160a060020a038316600090815260026020526040902054839060ff16151561117457600080fd5b600160a060020a038316600090815260026020526040902054839060ff161561119c57600080fd5b600092505b60035483101561122d5784600160a060020a03166003848154811015156111c457fe5b600091825260209091200154600160a060020a0316141561122257836003848154811015156111ef57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a0316021790555061122d565b6001909201916111a1565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6000818152602081905260408120600301548190839060ff16156112ea57600080fd5b6000848152602081905260409020925061130384610a67565b91508180611336575060028084015460001961010060018316150201160415801561133657506113368360010154611584565b156114885760038301805460ff191660011790558115156113605760018301546008805490910190555b8260000160009054906101000a9004600160a060020a0316600160a060020a031683600101548460020160405180828054600181600116156101000203166002900480156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505091505060006040518083038185875af1925050501561143a5760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2611488565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515611488576001830154600880549190910390555b50505050565b60085481565b600083600160a060020a03811615156114ac57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261152c9260028501929101906115f5565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000600754620151800142111561159f574260075560006008555b600654826008540111806115b65750600854828101105b156115c3575060006115c7565b5060015b919050565b8154818355818111156115f0576000838152602090206115f0918101908301611673565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061163657805160ff1916838001178555611663565b82800160010185558215611663579182015b82811115611663578251825591602001919060010190611648565b5061166f929150611673565b5090565b6108bb91905b8082111561166f57600081556001016116795600a165627a7a72305820a5b105746e62693725516cdcd815abd988003c58f75c631c52612b0635dd89510029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000f2d5c484e662d5aba856607756d622980acb11ce00000000000000000000000000cb02093b426d6ea221a670c65729dac9cd361c00000000000000000000000000f25de5c07121c7ecb6f458ea4a0c4f44928a370000000000000000000000005fbb7614765568bd5f88f174dc0779b8f9fffc58000000000000000000000000836b67cd033a36b77308fedf3daef76fd4a9ca29000000000000000000000000d08a079cb9c6c91e15875adaff8031a41cb8c0d6
-----Decoded View---------------
Arg [0] : _owners (address[]): 0xF2d5C484E662D5aBA856607756D622980acB11ce,0x00cb02093b426d6EA221A670c65729DAC9CD361C,0x00F25de5C07121c7ECB6F458Ea4a0c4F44928A37,0x5fbb7614765568Bd5f88f174DC0779B8F9FfFC58,0x836b67CD033a36B77308FeDF3daeF76fd4a9Ca29,0xD08a079Cb9C6c91E15875ADAff8031a41cB8c0d6
Arg [1] : _required (uint256): 4
Arg [2] : _dailyLimit (uint256): 0
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [4] : 000000000000000000000000f2d5c484e662d5aba856607756d622980acb11ce
Arg [5] : 00000000000000000000000000cb02093b426d6ea221a670c65729dac9cd361c
Arg [6] : 00000000000000000000000000f25de5c07121c7ecb6f458ea4a0c4f44928a37
Arg [7] : 0000000000000000000000005fbb7614765568bd5f88f174dc0779b8f9fffc58
Arg [8] : 000000000000000000000000836b67cd033a36b77308fedf3daef76fd4a9ca29
Arg [9] : 000000000000000000000000d08a079cb9c6c91e15875adaff8031a41cb8c0d6
Swarm Source
bzzr://a5b105746e62693725516cdcd815abd988003c58f75c631c52612b0635dd8951
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.