allow manual setting of noncefix fee cap
This commit is contained in:
parent
a98b0f18fc
commit
be92dd9e63
@ -5,6 +5,8 @@ import (
|
|||||||
"math"
|
"math"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
|
"github.com/filecoin-project/go-state-types/abi"
|
||||||
|
"github.com/filecoin-project/go-state-types/big"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
@ -32,6 +34,10 @@ var noncefix = &cli.Command{
|
|||||||
&cli.BoolFlag{
|
&cli.BoolFlag{
|
||||||
Name: "auto",
|
Name: "auto",
|
||||||
},
|
},
|
||||||
|
&cli.Int64Flag{
|
||||||
|
Name: "gas-fee-cap",
|
||||||
|
Usage: "specify gas fee cap for nonce filling messages",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Action: func(cctx *cli.Context) error {
|
Action: func(cctx *cli.Context) error {
|
||||||
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||||
@ -84,15 +90,32 @@ var noncefix = &cli.Command{
|
|||||||
}
|
}
|
||||||
fmt.Printf("Creating %d filler messages (%d ~ %d)\n", end-start, start, end)
|
fmt.Printf("Creating %d filler messages (%d ~ %d)\n", end-start, start, end)
|
||||||
|
|
||||||
|
ts, err := api.ChainHead(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
feeCap := big.Mul(ts.Blocks()[0].ParentBaseFee, big.NewInt(2)) // default fee cap to 2 * parent base fee
|
||||||
|
if fcf := cctx.Int64("gas-fee-cap"); fcf != 0 {
|
||||||
|
feeCap = abi.NewTokenAmount(fcf)
|
||||||
|
}
|
||||||
|
|
||||||
for i := start; i < end; i++ {
|
for i := start; i < end; i++ {
|
||||||
msg := &types.Message{
|
msg := &types.Message{
|
||||||
From: addr,
|
From: addr,
|
||||||
To: addr,
|
To: addr,
|
||||||
Value: types.NewInt(1),
|
Value: types.NewInt(0),
|
||||||
Nonce: i,
|
Nonce: i,
|
||||||
|
GasLimit: 1000000,
|
||||||
|
GasFeeCap: feeCap,
|
||||||
|
GasPremium: abi.NewTokenAmount(5),
|
||||||
|
}
|
||||||
|
smsg, err := api.WalletSignMessage(ctx, addr, msg)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = api.MpoolPushMessage(ctx, msg, nil)
|
_, err = api.MpoolPush(ctx, smsg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user