Skip to content

Commit 75208dc

Browse files
magik6krvagg
authored andcommitted
feat: config for maximized feecap (#597)
1 parent 49084f2 commit 75208dc

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

cmd/curio/tasks/tasks.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func StartTasks(ctx context.Context, dependencies *deps.Deps, shutdownChan chan
108108

109109
var activeTasks []harmonytask.TaskInterface
110110

111-
sender, sendTask := message.NewSender(full, full, db)
111+
sender, sendTask := message.NewSender(full, full, db, cfg.Fees.MaximizeFeeCap)
112112
balanceMgrTask := balancemgr.NewBalanceMgrTask(db, full, chainSched, sender)
113113
activeTasks = append(activeTasks, sendTask, balanceMgrTask)
114114
dependencies.Sender = sender

deps/config/doc_gen.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deps/config/types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func DefaultCurioConfig() *CurioConfig {
3636
MaxWindowPoStGasFee: types.MustParseFIL("5"),
3737
CollateralFromMinerBalance: false,
3838
DisableCollateralFallback: false,
39+
MaximizeFeeCap: true,
3940
},
4041
Addresses: []CurioAddresses{{
4142
PreCommitControl: []string{},
@@ -439,6 +440,11 @@ type CurioFees struct {
439440

440441
// Don't send collateral with messages even if there is no available balance in the miner actor (Default: false)
441442
DisableCollateralFallback bool
443+
444+
// MaximizeFeeCap makes the sender set maximum allowed FeeCap on all sent messages.
445+
// This generally doesn't increase message cost, but in highly congested network messages
446+
// are much less likely to get stuck in mempool. (Default: true)
447+
MaximizeFeeCap bool
442448
}
443449

444450
type CurioAddresses struct {

documentation/en/configuration/default-curio-configuration.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,13 @@ description: The default curio configuration
342342
# type: bool
343343
#DisableCollateralFallback = false
344344

345+
# MaximizeFeeCap makes the sender set maximum allowed FeeCap on all sent messages.
346+
# This generally doesn't increase message cost, but in highly congested network messages
347+
# are much less likely to get stuck in mempool. (Default: true)
348+
#
349+
# type: bool
350+
#MaximizeFeeCap = true
351+
345352
# maxBatchFee = maxBase + maxPerSector * nSectors
346353
# (Default: #Base = "0 FIL" and #PerSector = "0.02 FIL")
347354
#

tasks/message/sender.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ type SignerAPI interface {
4747
type Sender struct {
4848
api SenderAPI
4949

50+
maximizeFeeCap bool
51+
5052
sendTask *SendTask
5153

5254
db *harmonydb.DB
@@ -260,16 +262,17 @@ var _ harmonytask.TaskInterface = &SendTask{}
260262
var _ = harmonytask.Reg(&SendTask{})
261263

262264
// NewSender creates a new Sender.
263-
func NewSender(api SenderAPI, signer SignerAPI, db *harmonydb.DB) (*Sender, *SendTask) {
265+
func NewSender(api SenderAPI, signer SignerAPI, db *harmonydb.DB, maximizeFeeCap bool) (*Sender, *SendTask) {
264266
st := &SendTask{
265267
api: api,
266268
signer: signer,
267269
db: db,
268270
}
269271

270272
return &Sender{
271-
api: api,
272-
db: db,
273+
api: api,
274+
db: db,
275+
maximizeFeeCap: maximizeFeeCap,
273276

274277
sendTask: st,
275278
}, st
@@ -295,6 +298,10 @@ func (s *Sender) Send(ctx context.Context, msg *types.Message, mss *api.MessageS
295298
return cid.Undef, xerrors.Errorf("MessageSendSpec.MsgUuid must be zero")
296299
}
297300

301+
if s.maximizeFeeCap {
302+
mss.MaximizeFeeCap = true
303+
}
304+
298305
fromA, err := s.api.StateAccountKey(ctx, msg.From, types.EmptyTSK)
299306
if err != nil {
300307
return cid.Undef, xerrors.Errorf("getting key address: %w", err)

0 commit comments

Comments
 (0)