Skip to content

Commit 8546a9a

Browse files
authored
Merge pull request #530 from shutter-network/tool/gob-printer
Add a dev tool to print the state of shutter.gob files
2 parents cae0a4a + cf58587 commit 8546a9a

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

tools/shutter-gob-printer/main.go

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
6+
"github.com/shutter-network/rolling-shutter/rolling-shutter/app"
7+
)
8+
9+
// func main() {
10+
// dkgResultHex := "7b7f03010106526573756c7401ff800001070103456f6e010600010a4e756d4b65797065727301060001095468726573686f6c6401060001064b6579706572010600010e5365637265744b6579536861726501ff820001095075626c69634b657901ff8400010f5075626c69634b657953686172657301ff880000000aff81050102ff8a0000000aff83050102ff8c0000002cff870201011d5b5d2a736863727970746f2e456f6e5075626c69634b6579536861726501ff880001ff8600000aff85050102ff8e000000fe0337ff800104010701040221027357a7abefc52a2bf1fff35238a0b436aa4d49a7e58fd555823753f90c55c73d016096e157e0535e4398d616676a75d90f87cb080dd4472bd52a21d091bf3a3e376fdf19d194a7a8d9fb457d46742e7917010fb534d7b9ac40fdd9a6c44246e3aa5bfd64c8c5430da8ebaaaa47e5b6accdc419c223c64e63e9defd4ae5c397b76fc90107608cce993feed43f24a7d4cb8c6c98633bc55ab83eab75ba7429c32bd1630e80ef757fdf43ecaa884f716060a0e18e5c9417ad9b5edee15a3dcad835cbebbdc25cf649698b14b244117f09cb9de2b49f01951d03bfcc751f9ff7cc9c5598004fb4608cc5f4d14c5cc57f3c1656b4fbefc16d07c345dac23e3964e1df30c2c038e7bf049606f0eaf29d048436021a8c4074db14f5ac47b5d4ff4e4b78acf3b34b066335a7f50e5fc81ecd48aa6b46cb1b0b5c38b97a5bf325277349d98c1002df3e2d60a12a47d8efab79ba8c0633dc5880f889689ddaaa10ef922159001a20228a31ef72d013e480f99ccd548b734b47e2c600187b0b9a039d43335f883b703106da9e02ff0f99027e52619e1262820f7a014b590d44710b500e478f78d7edcc2fc1a360b1721bd12866657ba30356a0cf433a42f052122df5fb9191b9f16dffebbd21c6fd620ab36a727104bc668f307026427808fc5f91a166dc378752fd307a187fa6b38754e73209445185682af332cf258426c94037cf78b673d3e45eceb90e9d1460a8a78c16ad8355159a4497eab2df4efc978df2cd5363edaacc698eaac65c84d7eeaf5e86eea7df08bd14ecc585e6d8b117757a1018004f8d1a5fa9c1f6a46a2d11e0ec82c9c5a5dadd68b25b950878ddaa862c366392b39d64a1816582aeae7560829b29ec59187d1fcebb63a515fd32822465150cb74cd8d6d035c250c31e045a850793469eba13d7e7e1039715da196004ba5c6610c85213306aff231d77e37951f689c9ffaabea9f79cd929697a30a6a17f2b5def90b4569d2a899875c4b2df60a8c45b98c8b79fb9b7b76403b6d9cc3c0b5f749dd177849947d837f28d3c241fa4e35d83c6adf5ca9ce630eff10a8280118ef8bc90c42c80fda5dd94d96ae80fa65a551745893c3c413e5a0c665c3110f67bee296b89e64b78d6a79486e7964300"
11+
// dkgResultBytes := common.FromHex(dkgResultHex)
12+
// dkgResult, err := shdb.DecodePureDKGResult(dkgResultBytes)
13+
// if err != nil {
14+
// panic(err)
15+
// }
16+
// fmt.Printf("%+v\n", dkgResult)
17+
// }
18+
19+
func main() {
20+
a, err := app.LoadShutterAppFromFile("/Users/ulo/t/shutter2.gob")
21+
if err != nil {
22+
panic(err)
23+
}
24+
printShutterApp(&a)
25+
26+
for i, config := range a.Configs {
27+
n := a.CountCheckedInKeypers(config.Keypers)
28+
k := app.NumRequiredTransitionValidators(config)
29+
fmt.Printf("Config %d has %d checked-in keypers, required: %d\n", i, n, k)
30+
}
31+
}
32+
33+
func printShutterApp(app *app.ShutterApp) {
34+
fmt.Println("ShutterApp Data:")
35+
36+
fmt.Println("Configs:")
37+
for i, config := range app.Configs {
38+
fmt.Printf(" Config %d: %+v\n", i, config)
39+
}
40+
41+
fmt.Println("DKGMap:")
42+
for eon, instance := range app.DKGMap {
43+
fmt.Printf(" Eon %d: %+v\n", eon, instance)
44+
}
45+
46+
fmt.Printf("ConfigVoting: %+v\n", app.ConfigVoting)
47+
48+
fmt.Printf("Gobpath: %s\n", app.Gobpath)
49+
fmt.Printf("LastSaved: %s\n", app.LastSaved)
50+
fmt.Printf("LastBlockHeight: %d\n", app.LastBlockHeight)
51+
52+
fmt.Println("Identities:")
53+
for address, pubkey := range app.Identities {
54+
fmt.Printf(" Address: %v, Pubkey: %+v\n", address, pubkey)
55+
}
56+
57+
fmt.Println("BlocksSeen:")
58+
for address, blocks := range app.BlocksSeen {
59+
fmt.Printf(" Address: %v, BlocksSeen: %d\n", address, blocks)
60+
}
61+
62+
fmt.Printf("Validators: %+v\n", app.Validators)
63+
fmt.Printf("EONCounter: %d\n", app.EONCounter)
64+
fmt.Printf("DevMode: %t\n", app.DevMode)
65+
// fmt.Printf("CheckTxState: %+v\n", app.CheckTxState)
66+
// fmt.Printf("NonceTracker: %+v\n", app.NonceTracker)
67+
fmt.Printf("ChainID: %s\n", app.ChainID)
68+
}

0 commit comments

Comments
 (0)