From deb0dc6d65251949b8640946652e0fe3a66c08b9 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Tue, 17 Jan 2012 20:38:16 -0800 Subject: [PATCH] Cleanup format. Fix bug where account erroneously had a 0 sequence. --- AccountState.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/AccountState.h b/AccountState.h index ed77d2f4f..e7dfd5d32 100644 --- a/AccountState.h +++ b/AccountState.h @@ -29,10 +29,25 @@ public: uint64 getBalance() const { return mBalance; } uint32 getSeq() const { return mAccountSeq; } - void credit(const uint64& a) { mBalance+=a; } - void charge(const uint64& a) { assert(mBalance>=a); mBalance-=a; } - void incSeq() { mAccountSeq++; } - void decSeq() { assert(mAccountSeq!=0); mAccountSeq--; } + void credit(const uint64& a) + { + mBalance+=a; + if(!mAccountSeq) mAccountSeq=1; // an account with non-0 balance cannot have 0 sequence + } + void charge(const uint64& a) + { + assert(mBalance>=a); + mBalance-=a; + } + void incSeq() + { + mAccountSeq++; + } + void decSeq() + { + assert(mAccountSeq!=0); + mAccountSeq--; + } std::vector getRaw() const; };