mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 11:26:44 +01:00
Add the option to force or not a forgeBatch at the beginning of the slot
This commit is contained in:
@@ -64,6 +64,7 @@ ForgeDelay = "10s"
|
||||
ForgeNoTxsDelay = "0s"
|
||||
PurgeByExtDelInterval = "1m"
|
||||
MustForgeAtSlotDeadline = true
|
||||
IgnoreSlotCommitment = false
|
||||
|
||||
[Coordinator.FeeAccount]
|
||||
Address = "0x56232B1c5B10038125Bc7345664B4AFD745bcF8E"
|
||||
|
||||
@@ -104,6 +104,11 @@ type Coordinator struct {
|
||||
// MustForgeAtSlotDeadline enables the coordinator to forge slots if
|
||||
// the empty slots reach the slot deadline.
|
||||
MustForgeAtSlotDeadline bool
|
||||
// IgnoreSlotCommitment IgnoreSlotCommitment disables forcing the
|
||||
// coordinator to forge a slot immediately when the slot is not
|
||||
// committed. If set to false, the coordinator will immediately forge
|
||||
// a batch at the beginning of a slot if it's the slot winner.
|
||||
IgnoreSlotCommitment bool
|
||||
// SyncRetryInterval is the waiting interval between calls to the main
|
||||
// handler of a synced block after an error
|
||||
SyncRetryInterval Duration `validate:"required"`
|
||||
|
||||
@@ -87,6 +87,11 @@ type Config struct {
|
||||
// MustForgeAtSlotDeadline enables the coordinator to forge slots if
|
||||
// the empty slots reach the slot deadline.
|
||||
MustForgeAtSlotDeadline bool
|
||||
// IgnoreSlotCommitment disables forcing the coordinator to forge a
|
||||
// slot immediately when the slot is not committed. If set to false,
|
||||
// the coordinator will immediately forge a batch at the beginning of
|
||||
// a slot if it's the slot winner.
|
||||
IgnoreSlotCommitment bool
|
||||
// SyncRetryInterval is the waiting interval between calls to the main
|
||||
// handler of a synced block after an error
|
||||
SyncRetryInterval time.Duration
|
||||
|
||||
@@ -414,7 +414,7 @@ func (p *Pipeline) forgeBatch(batchNum common.BatchNum) (batchInfo *BatchInfo, e
|
||||
var coordIdxs []common.Idx
|
||||
|
||||
// Check if the slot is not yet fulfilled
|
||||
slotCommitted := false
|
||||
slotCommitted := p.cfg.IgnoreSlotCommitment
|
||||
if p.stats.Sync.Auction.CurrentSlot.ForgerCommitment ||
|
||||
p.stats.Sync.Auction.CurrentSlot.SlotNum == p.state.lastSlotForged {
|
||||
slotCommitted = true
|
||||
|
||||
@@ -338,6 +338,7 @@ func NewNode(mode Mode, cfg *config.Node) (*Node, error) {
|
||||
ForgeRetryInterval: cfg.Coordinator.ForgeRetryInterval.Duration,
|
||||
ForgeDelay: cfg.Coordinator.ForgeDelay.Duration,
|
||||
MustForgeAtSlotDeadline: cfg.Coordinator.MustForgeAtSlotDeadline,
|
||||
IgnoreSlotCommitment: cfg.Coordinator.IgnoreSlotCommitment,
|
||||
ForgeNoTxsDelay: cfg.Coordinator.ForgeNoTxsDelay.Duration,
|
||||
SyncRetryInterval: cfg.Coordinator.SyncRetryInterval.Duration,
|
||||
PurgeByExtDelInterval: cfg.Coordinator.PurgeByExtDelInterval.Duration,
|
||||
|
||||
Reference in New Issue
Block a user