Spend less on fees, more on crypto. Buy crypto easily with MoonPay Balance. 20M+ users trust MoonPay worldwide.
Ready to onboard to Ethereum? With MetaMask Portfolio, you're in control.
Don’t invest unless you’re prepared to lose all the money you invest.
Ready to simplify your web3 experience? Try the all-in-one web3 app trusted by millions worldwide.
No gas? No problem. MetaMask Gas Station includes gas fees directly in your quote.
Everyday giveaways up to 100 ETH, Lucky Spins. Deposit BONUS 300% and Cashbacks!
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
Slots, Roulette, Poker & more - Proud sponsors of UFC, Everton & StakeF1 team!
5000+ Slots & Live Casino Games, 50+cryptos. Register with Etherscan and get 760% deposit bonus. Win Big$, withdraw it fast.
Anonymous play on awesome games - sign up now for 25 free jackpot spins - worth $100s!
100s of games, generous bonuses, 20+ years of trusted gaming. Join CryptoWins & start winning today!
Overview
ETH Balance
Eth Value
$0.14 (@ $3,392.54/ETH)Token Holdings
Could not find any matches!
- ERC-20 Tokens (137)200 SGCCSGCC (SGCC)1 AMISAMIS (AMIS)1 ARCONAArcona Distr... (ARCONA)$0.01@0.007410 BTBBitBall (BTB)$0.00@0.000114.86 ENGEnigma (ENG)$0.27@0.01811,100,000.00000333 GATEGATE (GATE)$7,440.60@0.00681,000 HEXHEX (HEX)$3.66@0.00370.5 JOTJury.Online (JOT)0.7777777 LNCLinker Coin (LNC)$0.00@0.0049184,500 MOTMOT (MOT)40.048353 OMGOMG Network (OMG)$13.79@0.34441,100,000.00000333 RKTRock (RKT)16 SOPSoPay (SOP)$0.00@0.000.00131166 stETHstETH (stETH)$4.45@3,390.527.77 VINVIN (VIN)50 XLABXCELTOKEN PL... (XLAB)$0.00@0.0023 ZEONZEON (ZEON)$0.03@0.00151 AMBAmber (AMB)$0.01@0.008180.526876 SAISai Stableco... (SAI)$1,439.82@17.881,000,000 AfroXAfroDex$0.01@0.00911 HEALPERC-20: An E... (HEALP)10 BEAUTYERC-20: Beau... (BEAUTY)5 BEAUTYERC-20: Beau... (BEAUTY)10 BEAUTYERC-20: Beau... (BEAUTY)8 BECBeautyChain8 BECERC-20: Beau... (BEC)88,888 BEBERC-20: betb... (BEB)34 BICHIPBICHIP2,000 CATERC-20: BitC... (CAT)1 BSCBitcoin Startup Capital2,018.0611 bkex.comERC-20: BKEX... (bkex.c...)11.30102684 BRATBRAT199.8 CGWERC-20: CGW (CGW)1,500 C4YChart 4 You1 XCCCoinCrowd8.8888 CTTAERC-20: Cont... (CTTA)10,000 cryptics.techCryptics.tech Airdrop Token2,000 DARERC-20: Defr... (DAR)88,888,888 www.dfw.vc零成本大富翁最高赚8000ethERC-20: dfw.... (www.df...)1.17823122 DMTSERC-20: DMTS (DMTS)63,386.28785429 EBKEbakus94,458.34466036 EMOERC-20: EMO ... (EMO)4,049 eosDACeosDAC Community Owned EOS Block Producer ERC20 Tokens$1.28@0.00030.002 EASTERC-20: Ethe... (EAST)2,018.0605 FIFA.win FIFA ICO!!ERC-20: FIFA... (FIFA.w...)72,458,872,693.3476 FIREERC-20: Fire (FIRE)88 FUNDFUND8 GENESERC-20: GENE... (GENES)0.5 GEFERC-20: Glob... (GEF)8 GOLDERC-20: GOLD (GOLD)5,000 GSGCERC-20: GSG ... (GSGC)88 ICCERC-20: Inte... (ICC)50,700 TUBERC-20: ITub... (TUB)94,458.34466036 JCJesus Coin888,888 KICKKickToken0.28 KINGERC-20: KING (KING)1 LYNETERC-20: Laiy... (LYNET)49.95 MROMero Currency1 MFCCERC-20: MFCC (MFCC)200 MCERC-20: Monk... (MC)8 MGCMore Gold Coin3,026 MUXEMUXE Token1,000 NLSNeluns870 NTNERC-20: Neut... (NTN)322,849.1508 ODHAVERC-20: Odha... (ODHAV)20 OnlyOnlyChain0.1435963 PCBCERC-20: PCBC (PCBC)10 PXCPixieCoin1 Pre-Sale-ATHERC-20: Pre-... (Pre-Sa...)5 PMODPromodl1,500 QLCERC-20: QLin... (QLC)250,000 RazeERC-20: Raze... (Raze)111,111 REVERC-20: Reve... (REV)1,485 SHUFshuffle.monster token V21 SLVSilverway0.001 SoundeonSoundeon Token3,988,400 SPOERC-20: Spar... (SPO)920,400 SPX-R6ERC-20: Spar... (SPX-R6)3,068,000 SPX-R0ERC-20: Spar... (SPX-R0)1,100,000.00000333 STACSSTACS156.69620692 SPERC-20: SunP... (SP)1 SPBERC-20: Supe... (SPB)10 TDTERC-20: Test... (TDT)8 TESTERC-20: Test... (TEST)2.46 THBCERC-20: Time... (THBC)8,888.8888 TOPBTCERC-20: TOPB... (TOPBTC)8.88888888 TOPBTOPBTC TOKEN200 TRATRA9 UGCUG Coin0.06512484 UXTERC-20: UNI ... (UXT)10 UBTERC-20: Univ... (UBT)0 UNKERC-20: Unkn... (UNK)115,792,089,237,316,000,... USDERC-20: USD (USD)469 VETHERC-20: Vita... (VETH)1 VOS.AIVOS.AI Invitation2,860ERC20 ***99,999ERC20 ***4 HOSTINGWebsite Hosting Token66 WLMWin Last Mile20 WOLKERC-20: Wolk... (WOLK)1 WONWonderAir1,000 WifiBERC-20: Worl... (WifiB)150 XCELXCELTOKEN1 WGBCERC-20: 万国链(... (WGBC)88,888 betbeb.comERC-20: 启动公链 (betbeb...)7 0BTC0BTC100 EXNEXN1,000 KCNKitchan Network1 KITTENKitten Coin100 KRTKredX Token10 MCUXMediChain Promo Token0.324631 SWSuper Wallet Token3,999.99 TokenERC-20 TOKEN*[Suspicious]12,000 TokenERC-20 TOKEN*[Suspicious]32 TokenERC-20 TOKEN*[Suspicious]400 TokenERC-20 TOKEN*[Suspicious]4,214 TokenERC-20 TOKEN*[Suspicious]7,000 TokenERC-20 TOKEN*[Suspicious]7,000 TokenERC-20 TOKEN*[Suspicious]437 TokenERC-20 TOKEN*[Unsafe]400 TokenERC-20 TOKEN*[Unsafe]7,000 TokenERC-20 TOKEN*[Unsafe]1,000 TokenERC-20 TOKEN*[Unsafe]9.999 TokenERC-20 TOKEN*[Unsafe]6,000 TokenERC-20 TOKEN*[Spam]7,000 TokenERC-20 TOKEN*[Spam]16,888 TokenERC-20 TOKEN*[Spam]150 TokenERC-20 TOKEN*[Spam]49,680,578,953,622,700,0... TokenERC-20 TOKEN*[Spam]21,000,000 TokenERC-20 TOKEN*[Spam]100 TokenERC-20 TOKEN*[Spam]707,090 TokenERC-20 TOKEN*[Spam]21,000,000 TokenERC-20 TOKEN*[Spam]8,888.9999 TokenERC-20 TOKEN*[Spam]3.1 TokenERC-20 TOKEN*[Spam]7,777,777 TokenERC-20 TOKEN*[Spam]856,420,144,564 TokenERC-20 TOKEN*[Spam]NFT Tokens (19)EnjinERC-1155Stake-stETH.comStake-stETH.comERC-1155claim rewards on stakedeth.iostakedeth.ioERC-1155nft-steth.comstETH Mysterybox NFTERC-1155claim rewards on stethprize.comstethprize.comERC-1155ERC-1155 TOKEN*[Suspicious]ERC-721 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]ERC-1155 TOKEN*[Suspicious]
- Transactions
- Internal Transactions
- Token Transfers (ERC-20)
- NFT Transfers
- Contract
- Events
- Analytics
- Multichain Portfolio
Advanced Filter- Filter by Tx Type:
- Tx
- Internal Tx
- ERC-20
- NFTs
Latest 25 from a total of 2,359 transactions
Transaction Hash MethodBlockFromToConfirm Transact... 18764112 2023-12-11 16:19:35 381 days ago 1702311575 IN 0 ETH$0.00 0.0078302 56 Confirm Transact... 18764109 2023-12-11 16:18:59 381 days ago 1702311539 IN 0 ETH$0.00 0.00717897 48 Confirm Transact... 18764098 2023-12-11 16:16:47 381 days ago 1702311407 IN 0 ETH$0.00 0.00784756 55 Confirm Transact... 18764092 2023-12-11 16:15:35 381 days ago 1702311335 IN 0 ETH$0.00 0.00902715 55 Confirm Transact... 18764082 2023-12-11 16:13:23 381 days ago 1702311203 IN 0 ETH$0.00 0.00739002 55 Confirm Transact... 18761417 2023-12-11 7:16:47 382 days ago 1702279007 IN 0 ETH$0.00 0.00221113 27 Confirm Transact... 18761415 2023-12-11 7:16:23 382 days ago 1702278983 IN 0 ETH$0.00 0.00229303 28 Confirm Transact... 18761413 2023-12-11 7:15:59 382 days ago 1702278959 IN 0 ETH$0.00 0.00188356 23 Confirm Transact... 18761411 2023-12-11 7:15:35 382 days ago 1702278935 IN 0 ETH$0.00 0.00196545 24 Confirm Transact... 18761409 2023-12-11 7:15:11 382 days ago 1702278911 IN 0 ETH$0.00 0.00212924 26 Confirm Transact... 18761407 2023-12-11 7:14:47 382 days ago 1702278887 IN 0 ETH$0.00 0.00212924 26 Submit Transacti... 18761157 2023-12-11 6:24:35 382 days ago 1702275875 IN 0 ETH$0.00 0.00499905 25 Submit Transacti... 18761154 2023-12-11 6:23:59 382 days ago 1702275839 IN 0 ETH$0.00 0.00459967 23 Submit Transacti... 18761151 2023-12-11 6:23:23 382 days ago 1702275803 IN 0 ETH$0.00 0.00559792 28 Submit Transacti... 18761148 2023-12-11 6:22:47 382 days ago 1702275767 IN 0 ETH$0.00 0.00499935 25 Submit Transacti... 18761143 2023-12-11 6:21:47 382 days ago 1702275707 IN 0 ETH$0.00 0.00619919 31 Submit Transacti... 18761137 2023-12-11 6:20:35 382 days ago 1702275635 IN 0 ETH$0.00 0.00659795 33 Confirm Transact... 17657719 2023-07-09 17:46:11 536 days ago 1688924771 IN 0 ETH$0.00 0.00279433 19 Confirm Transact... 17657445 2023-07-09 16:50:47 536 days ago 1688921447 IN 0 ETH$0.00 0.00204735 25 Confirm Transact... 17656937 2023-07-09 15:08:11 536 days ago 1688915291 IN 0 ETH$0.00 0.00601146 42 Confirm Transact... 17656932 2023-07-09 15:07:11 536 days ago 1688915231 IN 0 ETH$0.00 0.00647403 39 Confirm Transact... 17656929 2023-07-09 15:06:35 536 days ago 1688915195 IN 0 ETH$0.00 0.00614203 37 Submit Transacti... 17656474 2023-07-09 13:34:11 536 days ago 1688909651 IN 0 ETH$0.00 0.00420021 21 Submit Transacti... 17654367 2023-07-09 6:27:35 537 days ago 1688884055 IN 0 ETH$0.00 0.00320169 16 Confirm Transact... 17649769 2023-07-08 14:55:11 537 days ago 1688828111 IN 0 ETH$0.00 0.0027025 33 Latest 25 internal transactions (View All)
Advanced mode:Parent Transaction Hash Block FromTo16888693 2023-03-23 7:14:35 645 days ago 1679555675 8,891.2178 ETH$30,163,793.78 16370871 2023-01-09 17:54:47 717 days ago 1673286887 128.72919279 ETH$436,718.67 16050436 2022-11-25 23:59:47 762 days ago 1669420787 8,571.30771062 ETH$29,078,486.67 15896219 2022-11-04 11:01:47 784 days ago 1667559707 1,300 ETH$4,410,299.33 15825276 2022-10-25 13:03:23 794 days ago 1666703003 1,000 ETH$3,392,537.95 15539485 2022-09-15 13:47:11 833 days ago 1663249631 4,025.90433534 ETH$13,658,033.23 15433932 2022-08-29 11:54:11 851 days ago 1661774051 4,250 ETH$14,418,286.28 15433927 2022-08-29 11:53:20 851 days ago 1661774000 750 ETH$2,544,403.46 15420425 2022-08-27 8:08:02 853 days ago 1661587682 500 ETH$1,696,268.97 15416375 2022-08-26 16:16:05 853 days ago 1661530565 3,000 ETH$10,177,613.84 15408878 2022-08-25 11:34:32 855 days ago 1661427272 2,000 ETH$6,785,075.89 14806201 2022-05-19 17:24:30 952 days ago 1652981070 4,000 ETH$13,570,151.79 14796642 2022-05-18 4:05:24 954 days ago 1652846724 69.96164384 ETH$237,347.53 14791623 2022-05-17 9:01:26 955 days ago 1652778086 5,466.09701527 ETH$18,543,941.55 14399090 2022-03-16 17:56:10 1016 days ago 1647453370 1,852 ETH$6,282,980.28 14009713 2022-01-15 11:23:48 1077 days ago 1642245828 5 ETH$16,962.69 13714922 2021-11-30 13:03:52 1123 days ago 1638277432 10,000 ETH$33,925,379.47 13687380 2021-11-26 3:24:52 1127 days ago 1637897092 4,000 ETH$13,570,151.79 13550181 2021-11-04 12:25:08 1149 days ago 1636028708 5 ETH$16,962.69 13469804 2021-10-22 21:19:29 1161 days ago 1634937569 3,500 ETH$11,873,882.82 13417966 2021-10-14 18:42:02 1169 days ago 1634236922 500 ETH$1,696,268.97 13288837 2021-09-24 13:48:05 1189 days ago 1632491285 2,000 ETH$6,785,075.89 13223332 2021-09-14 10:38:30 1200 days ago 1631615910 14.57534246 ETH$49,447.40 13147037 2021-09-02 15:12:15 1211 days ago 1630595535 2,800 ETH$9,499,106.25 13001748 2021-08-11 4:25:30 1234 days ago 1628655930 5 ETH$16,962.69 Loading...LoadingSimilar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x35792029...5465e9C72The constructor portion of the code might be different and could alter the actual behaviour of the contractContract Name:MultiSigWalletWithDailyLimit
Compiler Versionv0.4.4+commit.4633f3de
Optimization Enabled:Yes with 200 runs
Other Settings:default evmVersionContract Source Code (Solidity)
- contract MultiSigWallet
- - function MultiSigWallet(address[] _ow ...
- - function addOwner(address owner)
- - function removeOwner(address owner)
- - function replaceOwner(address owner, ...
- - function changeRequirement(uint _requ ...
- - function submitTransaction(address de ...
- - function confirmTransaction(uint tran ...
- - function revokeConfirmation(uint tran ...
- - function executeTransaction(uint tran ...
- - function isConfirmed(uint transaction ...
- - function addTransaction(address desti ...
- - function getConfirmationCount(uint tr ...
- - function getTransactionCount(bool pen ...
- - function getOwners()
- - function getConfirmations(uint transa ...
- - function getTransactionIds(uint from, ...
- contract MultiSigWalletWithDailyLi ... *
- - function MultiSigWalletWithDailyLimit ...
- - function changeDailyLimit(uint _daily ...
- - function executeTransaction(uint tran ...
- - function isUnderLimit(uint amount)
- - function calcMaxWithdraw()
/** *Submitted for verification at Etherscan.io on 2017-03-03 */ 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; return dailyLimit - spentToday; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"calcMaxWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lastDay","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":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"changeDailyLimit","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_dailyLimit","type":"uint256"}],"type":"constructor"},{"payable":true,"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"}]
Deployed Bytecode
0x606060405236156101325760e060020a6000350463025e7c278114610180578063173825d9146101b257806320ea8d86146101df5780632f54bf6e146102135780633411c81c146102335780634bc9fdc214610260578063547415251461028357806367eeba0c146102f75780636b0c932d146103055780637065cb4814610313578063784547a71461033e5780638b51d13f1461034e5780639ace38c2146103c2578063a0e67e2b146103fd578063a8abe69a1461046e578063b5dc40c31461054d578063b77bf60014610659578063ba51a6df14610667578063c01a8c8414610693578063c6427474146106a3578063cea0862114610714578063d74f8edd1461073f578063dc8452cd1461074c578063e20056e61461075a578063ee22610b1461078a578063f059cf2b1461079a575b6107a8600034111561017e57604080513481529051600160a060020a033316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b565b34610002576107aa60043560038054829081101561000257600091825260209091200154600160a060020a0316905081565b34610002576107a8600435600030600160a060020a031633600160a060020a0316141515610a1a57610002565b34610002576107a8600435600160a060020a033390811660009081526002602052604090205460ff161515610c5f57610002565b34610002576107c660043560026020526000908152604090205460ff1681565b34610002576001602090815260043560009081526040808220909252602435815220546107c69060ff1681565b34610002576107da6007546000906201518001421115610d0f5750600654610d18565b34610002576107da6004356024356000805b600554811015610d1b578380156102be575060008181526020819052604090206003015460ff16155b806102e257508280156102e2575060008181526020819052604090206003015460ff165b156102ef57600191909101905b600101610295565b34610002576107da60065481565b34610002576107da60075481565b34610002576107a860043530600160a060020a031633600160a060020a0316141515610d2257610002565b34610002576107c6600435610801565b34610002576107da6004356000805b600354811015610e52576000838152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff16156103ba57600191909101905b60010161035d565b34610002576000602081905260043581526040902080546001820154600383015461087993600160a060020a03909316926002019060ff1684565b346100025760408051602080820183526000825260038054845181840281018401909552808552610923949283018282801561046257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610444575b50505050509050610d18565b34610002576109236004356024356044356064356040805160208181018352600080835283519182018452808252600554935192939192909182918059106104b35750595b9080825280602002602001820160405280156104ca575b509250600091508190505b600554811015610e58578580156104fe575060008181526020819052604090206003015460ff16155b806105225750848015610522575060008181526020819052604090206003015460ff165b156105455780838381518110156100025760209081029091010152600191909101905b6001016104d5565b34610002576109236004356040805160208181018352600080835283519182018452808252600354935192939192909182918059106105895750595b9080825280602002602001820160405280156105a0575b509250600091508190505b600354811015610ecd576000858152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561065157600380548290811015610002576000918252602090912001548351600160a060020a03909116908490849081101561000257600160a060020a03909216602092830290910190910152600191909101905b6001016105ab565b34610002576107da60055481565b34610002576107a86004355b30600160a060020a031633600160a060020a0316141515610f4957610002565b34610002576107a8600435610974565b3461000257604080516020600460443581810135601f81018490048402850184019095528484526107da948235946024803595606494929391909201918190840183828082843750949650505050505050600061096d848484600083600160a060020a0381161515610b6157610002565b34610002576107a860043530600160a060020a031633600160a060020a031614151561101457610002565b34610002576107da603281565b34610002576107da60045481565b34610002576107a8600435602435600030600160a060020a031633600160a060020a031614151561104f57610002565b34610002576107a86004356109f7565b34610002576107da60085481565b005b60408051600160a060020a039092168252519081900360200190f35b604080519115158252519081900360200190f35b60408051918252519081900360200190f35b600084815260208190526040902092506111c2845b600080805b600354811015610872576000848152600160205260408120600380549192918490811015610002576000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561086357600191909101905b600454821415610e4a57600192505b5050919050565b60408051600160a060020a03861681526020810185905282151560608201526080918101828152845460026000196101006001841615020190911604928201839052909160a0830190859080156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b50509550505050505060405180910390f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600302600f01f1509050019250505060405180910390f35b905061100d815b33600160a060020a03811660009081526002602052604090205460ff161515610fb457610002565b6000858152600160208181526040808420600160a060020a0333168086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610ce6855b6000818152602081905260408120600301548190839060ff16156107ec57610002565b600160a060020a038216600090815260026020526040902054829060ff161515610a4357610002565b600160a060020a0383166000908152600260205260408120805460ff1916905591505b60035460001901821015610b085782600160a060020a0316600360005083815481101561000257600091825260209091200154600160a060020a03161415610b3857600380546000198101908110156100025760009182526020909120015460038054600160a060020a039092169184908110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600380546000198101808355919082908015829011610b4357600083815260209020610b43918101908301610c0e565b600190910190610a66565b505060035460045411159150610c26905057600354610c2690610673565b60055460408051608081018252878152602080820188815282840188815260006060850181905286815280845294852084518154606060020a91820291909104600160a060020a031990911617815591516001808401919091559051805160028085018054818a5298879020999b5096989497601f9481161561010002600019011604830185900484019490939291019083901061137e57805160ff19168380011785555b506113ae9291505b80821115610c225760008155600101610c0e565b5090565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b600082815260016020908152604080832033600160a060020a038116855292529091205483919060ff161515610cee57610002565b6000858152600160209081526040808320600160a060020a0333168085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35b505b50505050565b600084815260208190526040902060030154849060ff1615610c9457610002565b50600854600654035b90565b5092915050565b600160a060020a038116600090815260026020526040902054819060ff1615610d4a57610002565b81600160a060020a0381161515610d6057610002565b6003546004546001909101906032821180610d7a57508181115b80610d83575080155b80610d8c575081155b15610d9657610002565b600160a060020a0385166000908152600260205260409020805460ff19166001908117909155600380549182018082559091908281838015829011610dec57600083815260209020610dec918101908301610c0e565b50505060009283525060208220018054600160a060020a031916606060020a88810204179055604051600160a060020a038716917ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d91a25050505050565b600101610806565b50919050565b878703604051805910610e685750595b908082528060200260200182016040528015610e7f575b5093508790505b86811015610ec2578281815181101561000257906020019060200201518489830381518110156100025760209081029091010152600101610e86565b505050949350505050565b81604051805910610edb5750595b908082528060200260200182016040528015610ef2575b509350600090505b81811015610f41578281815181101561000257906020019060200201518482815181101561000257600160a060020a03909216602092830290910190910152600101610efa565b505050919050565b600354816032821180610f5b57508181115b80610f64575080155b80610f6d575081155b15610f7757610002565b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b6000828152602081905260409020548290600160a060020a03161515610fd957610002565b600083815260016020908152604080832033600160a060020a038116855292529091205484919060ff161561099c57610002565b9392505050565b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b600160a060020a038316600090815260026020526040902054839060ff16151561107857610002565b600160a060020a038316600090815260026020526040902054839060ff16156110a057610002565b600092505b60035483101561111d5784600160a060020a0316600360005084815481101561000257600091825260209091200154600160a060020a031614156111b7578360036000508481548110156100025760009182526020909120018054600160a060020a031916606060020a928302929092049190911790555b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b6001909201916110a5565b9150818061123157506002808401546000196101006001831615020116041580156112315750600183015461123190600754600090620151800142111561120d574260075560006008555b600654600854830111806112245750600854828101105b1561141057506000611414565b15610ce85760038301805460ff1916600117905581151561125b5760018301546008805490910190555b825460018085015460405160028088018054600160a060020a039096169593949093839285926000199083161561010002019091160480156112de5780601f106112b3576101008083540402835291602001916112de565b820191906000526020600020905b8154815290600101906020018083116112c157829003601f168201915b505091505060006040518083038185876185025a03f1925050501561132d5760405184907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2610ce8565b60405184907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038301805460ff19169055811515610ce8575050600101546008805491909103905550565b82800160010185558215610c06579182015b82811115610c06578251826000505591602001919060010190611390565b5050606091909101516003909101805460ff191660f860020a9283029290920491909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b5060015b91905056
Loading...LoadingLoading...Loading
Loading...Loading
Loading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingLoading...LoadingMultichain Portfolio | 30 Chains
Chain Token Portfolio % Price Amount Value ETH 83.56% $0.006764 1,100,000 $7,440.6 ETH 16.17% $17.88 80.5269 $1,439.82 ETH 0.15% $0.344438 40.0484 $13.79 ETH 0.05% $3,390.52 0.00131166 $4.45 ETH 0.04% $0.003658 1,000 $3.66 ETH 0.01% $0.000317 4,049 $1.28 ETH <0.01% $0.01806 14.86 $0.2683 ETH Ether (ETH)<0.01% $3,396.93 0.00004209 $0.142977 Loading...Loading[ Download: CSV Export ][ 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.
Address QR Code
My Address - Private Name Tag or Note
My Name Tag:
Private Name Tags (up to 35 characters) can be used for easy identification of addressesPrivate Note:
A private note (up to 500 characters) can be attached to this address.
Please DO NOT store any passwords or private keys here.Compiler specific version warnings:
The compiled contract might be susceptible to DirtyBytesArrayToStorage (low-severity), KeccakCaching (medium-severity), EmptyByteArrayCopy (medium-severity), DynamicArrayCleanup (medium-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity), privateCanBeOverridden (low-severity), IncorrectEventSignatureInLibraries_0.4.x (very low-severity), ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity), IdentityPrecompileReturnIgnored (low-severity) Solidity Compiler Bugs.
Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.Connect a Wallet
Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node.SignIn
Address Cards
To use this feature, please login to your Etherscan account and return to this page.Before You Copy
Transaction Private Note
This website uses cookies to improve your experience. By continuing to use this website, you agree to its Terms and Privacy Policy.