Merge pull request #4205 from filecoin-project/feat/noncefix-manual-fee-cap
allow manual setting of noncefix fee cap
This commit is contained in:
commit
c6e0cb4ff2
@ -5,6 +5,8 @@ import (
|
||||
"math"
|
||||
|
||||
"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/filecoin-project/lotus/chain/types"
|
||||
@ -32,6 +34,10 @@ var noncefix = &cli.Command{
|
||||
&cli.BoolFlag{
|
||||
Name: "auto",
|
||||
},
|
||||
&cli.Int64Flag{
|
||||
Name: "gas-fee-cap",
|
||||
Usage: "specify gas fee cap for nonce filling messages",
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
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)
|
||||
|
||||
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++ {
|
||||
msg := &types.Message{
|
||||
From: addr,
|
||||
To: addr,
|
||||
Value: types.NewInt(1),
|
||||
Nonce: i,
|
||||
From: addr,
|
||||
To: addr,
|
||||
Value: types.NewInt(0),
|
||||
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 {
|
||||
return err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user