summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Broderick <118225939+bbroder-algo@users.noreply.github.com>2023-06-22 23:19:10 -0400
committerBob Broderick <118225939+bbroder-algo@users.noreply.github.com>2023-06-22 23:19:10 -0400
commitda9fea9c7d18a7abbce87ec2309cd2fd0a25a935 (patch)
treed36ce71afd487d3fd90420ed96a82405f33f2f63
parent6a539cbaa832624cc2499c8a70bd9807eaed9b81 (diff)
working account statetriebob_merkle_5b1
-rw-r--r--ledger/bobtracker.go2
-rw-r--r--ledger/eval/appcow.go11
-rw-r--r--ledger/eval/eval.go2
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