diff --git a/api/swagger.yml b/api/swagger.yml index 3b38d93..032b8cd 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -2634,6 +2634,10 @@ components: - example: 2334 nextForgers: $ref: '#/components/schemas/NextForgers' + pendingL1Transactions: + type: number + description: Number of pending L1 transactions (added in the smart contract queue but not forged). + example: 22 additionalProperties: false required: - lastEthereumBlock diff --git a/db/historydb/nodeinfo.go b/db/historydb/nodeinfo.go index 6447695..a7ddb6c 100644 --- a/db/historydb/nodeinfo.go +++ b/db/historydb/nodeinfo.go @@ -32,6 +32,7 @@ type NetworkAPI struct { LastBatch *BatchAPI `json:"lastBatch"` CurrentSlot int64 `json:"currentSlot"` NextForgers []NextForgerAPI `json:"nextForgers"` + PendingL1Txs int `json:"pendingL1Transactions"` } // NodePublicConfig is the configuration of the node that is exposed via API diff --git a/stateapiupdater/stateapiupdater.go b/stateapiupdater/stateapiupdater.go index a055471..c588859 100644 --- a/stateapiupdater/stateapiupdater.go +++ b/stateapiupdater/stateapiupdater.go @@ -145,11 +145,17 @@ func (u *Updater) UpdateNetworkInfo( } } } + // Update pending L1s + pendingL1s, err := u.hdb.GetUnforgedL1UserTxsCount() + if err != nil { + return tracerr.Wrap(err) + } u.state.Network.LastSyncBlock = lastSyncBlock.Num u.state.Network.LastEthBlock = lastEthBlock.Num u.state.Network.LastBatch = lastBatch u.state.Network.CurrentSlot = currentSlot u.state.Network.NextForgers = nextForgers + u.state.Network.PendingL1Txs = pendingL1s u.rw.Unlock() return nil }