Add script for fixing nocne

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
Jakub Sztandera 2019-12-13 15:47:21 +01:00
parent f4955dd359
commit 9907f7b7fb
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA
2 changed files with 66 additions and 0 deletions

View File

@ -19,6 +19,7 @@ func main() {
base16Cmd, base16Cmd,
keyinfoCmd, keyinfoCmd,
peerkeyCmd, peerkeyCmd,
noncefix,
} }
app := &cli.App{ app := &cli.App{

View File

@ -0,0 +1,65 @@
package main
import (
"github.com/filecoin-project/lotus/chain/address"
"github.com/filecoin-project/lotus/chain/types"
lcli "github.com/filecoin-project/lotus/cli"
"gopkg.in/urfave/cli.v2"
)
var noncefix = &cli.Command{
Name: "noncefix",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "repo",
EnvVars: []string{"LOTUS_PATH"},
Hidden: true,
Value: "~/.lotus", // TODO: Consider XDG_DATA_HOME
},
&cli.Uint64Flag{
Name: "start",
},
&cli.Uint64Flag{
Name: "end",
},
&cli.StringFlag{
Name: "addr",
},
},
Action: func(cctx *cli.Context) error {
api, closer, err := lcli.GetFullNodeAPI(cctx)
if err != nil {
return err
}
defer closer()
ctx := lcli.ReqContext(cctx)
addr, err := address.NewFromString(cctx.String("addr"))
if err != nil {
return err
}
for i := cctx.Uint64("start"); i < cctx.Uint64("end"); i++ {
msg := &types.Message{
From: addr,
To: addr,
Value: types.NewInt(1),
GasLimit: types.NewInt(1000),
GasPrice: types.NewInt(1),
Nonce: i,
}
smsg, err := api.WalletSignMessage(ctx, addr, msg)
if err != nil {
return err
}
err = api.MpoolPush(ctx, smsg)
if err != nil {
return err
}
}
return nil
},
}