[beta] Backported wallet fix (#6105)

* Fix initialisation bug. (#6102)

* update wallet library modifiers (#6103)
This commit is contained in:
Arkadiy Paronyan 2017-07-20 01:12:30 +02:00 committed by GitHub
parent 6a564f3334
commit 8116ad995d
2 changed files with 7 additions and 4 deletions

File diff suppressed because one or more lines are too long

View File

@ -104,7 +104,7 @@ contract WalletLibrary is WalletEvents {
// constructor is given number of sigs required to do protected "onlymanyowners" transactions
// as well as the selection of addresses capable of confirming them.
function initMultiowned(address[] _owners, uint _required) {
function initMultiowned(address[] _owners, uint _required) only_uninitialized {
m_numOwners = _owners.length + 1;
m_owners[1] = uint(msg.sender);
m_ownerIndex[uint(msg.sender)] = 1;
@ -198,7 +198,7 @@ contract WalletLibrary is WalletEvents {
}
// constructor - stores initial daily limit and records the present day's index.
function initDaylimit(uint _limit) {
function initDaylimit(uint _limit) only_uninitialized {
m_dailyLimit = _limit;
m_lastDay = today();
}
@ -211,9 +211,12 @@ contract WalletLibrary is WalletEvents {
m_spentToday = 0;
}
// throw unless the contract is not yet initialized.
modifier only_uninitialized { if (m_numOwners > 0) throw; _; }
// constructor - just pass on the owner array to the multiowned and
// the limit to daylimit
function initWallet(address[] _owners, uint _required, uint _daylimit) {
function initWallet(address[] _owners, uint _required, uint _daylimit) only_uninitialized {
initDaylimit(_daylimit);
initMultiowned(_owners, _required);
}