diff options
author | Bob Broderick <118225939+bbroder-algo@users.noreply.github.com> | 2023-06-22 23:19:10 -0400 |
---|---|---|
committer | Bob Broderick <118225939+bbroder-algo@users.noreply.github.com> | 2023-06-22 23:19:10 -0400 |
commit | da9fea9c7d18a7abbce87ec2309cd2fd0a25a935 (patch) | |
tree | d36ce71afd487d3fd90420ed96a82405f33f2f63 | |
parent | 6a539cbaa832624cc2499c8a70bd9807eaed9b81 (diff) |
working account statetriebob_merkle_5b1
-rw-r--r-- | ledger/bobtracker.go | 2 | ||||
-rw-r--r-- | ledger/eval/appcow.go | 11 | ||||
-rw-r--r-- | ledger/eval/eval.go | 2 |
3 files changed, 11 insertions, 4 deletions
diff --git a/ledger/bobtracker.go b/ledger/bobtracker.go index 29228d01c..3ca46331b 100644 --- a/ledger/bobtracker.go +++ b/ledger/bobtracker.go @@ -212,7 +212,7 @@ func (ct *bobTracker) commitBobtrie(rnd basics.Round) (err error) { ct.log.Errorf("commitBobtrie: error retrieving balances trie root: %v", rootErr) return rootErr } - ct.log.Infof("commitBobtrie: root: %v", root.String()) + ct.log.Infof("commitBobtrie: round %d, root: %v", rnd, root.String()) aw.UpdateAccountsBobHashRound(ctx, rnd) if ct.balancesTrie != nil { _, err := ct.balancesTrie.Evict(false) diff --git a/ledger/eval/appcow.go b/ledger/eval/appcow.go index 2403da4f4..42be207a6 100644 --- a/ledger/eval/appcow.go +++ b/ledger/eval/appcow.go @@ -18,6 +18,7 @@ package eval import ( "fmt" + "encoding/hex" "github.com/algorand/go-algorand/config" "github.com/algorand/go-algorand/crypto/bobtrie" @@ -514,13 +515,19 @@ func (cb *roundCowState) commitToBobtrie(bob *bobtrie.Trie) error { previousAD.SetCoreAccountData(&previousAccountData) deleteHash := trackerdb.AccountHashBuilderV6(accountAddr, &previousAD, protocol.Encode(&previousAD)) - bob.Delete(deleteHash) + fmt.Printf("deleting hash %s\n", hex.EncodeToString(deleteHash)) + exists, err := bob.Delete(deleteHash) + fmt.Printf(" del false if no such element exists: %v, err: %v\n", exists, err) + } else { + fmt.Printf("not deleting hash %v, is empty\n", accountAddr) } var updatedAD trackerdb.BaseAccountData updatedAD.SetCoreAccountData(&updatedAccountData) addHash := trackerdb.AccountHashBuilderV6(accountAddr, &updatedAD, protocol.Encode(&updatedAD)) - bob.Add(addHash) + fmt.Printf("adding hash %s\n", hex.EncodeToString(addHash)) + exists, err := bob.Add(addHash) + fmt.Printf(" add false if item already exists: %v, err: %v\n", exists, err) } return nil diff --git a/ledger/eval/eval.go b/ledger/eval/eval.go index 989c2b2fd..537c24374 100644 --- a/ledger/eval/eval.go +++ b/ledger/eval/eval.go @@ -1269,6 +1269,7 @@ func (eval *BlockEvaluator) TestingTxnCounter() uint64 { // Call "endOfBlock" after all the block's rewards and transactions are processed. func (eval *BlockEvaluator) endOfBlock() error { + eval.l.CommitBobtrie(eval.block.Round()) if eval.generate { var err error eval.block.TxnCommitments, err = eval.block.PaysetCommit() @@ -1277,7 +1278,6 @@ func (eval *BlockEvaluator) endOfBlock() error { } // commit the bobtrie round to the trackerdb (commit and evict) - eval.l.CommitBobtrie(eval.block.Round()) eval.block.Sha256StateCommitment, err = eval.l.GetBobtrie().RootHash() if err != nil { return err |