scripts: dump diff for OnPersist and PostPersist applog

Related to #3424.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
Anna Shaleva 2024-05-14 13:38:52 +03:00
parent 02ecbeb519
commit 0a3bf01a8f

View file

@ -118,13 +118,24 @@ func cliMain(c *cli.Context) error {
return err return err
} }
fmt.Printf("state differs at %d, block %s\n", h, blk.Hash().StringLE()) fmt.Printf("state differs at %d, block %s\n", h, blk.Hash().StringLE())
dumpApplogDiff(true, blk.Hash(), a, b, ca, cb)
for _, t := range blk.Transactions { for _, t := range blk.Transactions {
fmt.Printf("transaction %s:\n", t.Hash().StringLE()) dumpApplogDiff(false, t.Hash(), a, b, ca, cb)
la, err := ca.GetApplicationLog(t.Hash(), nil) }
return errors.New("different state found")
}
func dumpApplogDiff(isBlock bool, container util.Uint256, a string, b string, ca *rpcclient.Client, cb *rpcclient.Client) error {
if isBlock {
fmt.Printf("block %s:\n", container.StringLE())
} else {
fmt.Printf("transaction %s:\n", container.StringLE())
}
la, err := ca.GetApplicationLog(container, nil)
if err != nil { if err != nil {
return err return err
} }
lb, err := cb.GetApplicationLog(t.Hash(), nil) lb, err := cb.GetApplicationLog(container, nil)
if err != nil { if err != nil {
return err return err
} }
@ -140,8 +151,7 @@ func cliMain(c *cli.Context) error {
Context: 1, Context: 1,
}) })
fmt.Println(diff) fmt.Println(diff)
} return nil
return errors.New("different state found")
} }
func main() { func main() {