Select Git revision
stats.go 878 B
/**
* stats.go
*
* COPYRIGHT: FUNDACIÓN TECNALIA RESEARCH & INNOVATION, 2022.
*/
package middleware
import (
"git.code.tecnalia.com/blockchain/hypercog/controller/stats"
"git.code.tecnalia.com/ledgerbuilder/sdk/shared"
"git.code.tecnalia.com/traceblock/sdk/middleware"
)
var (
UpdateSlagStats = shared.NewMiddlewareFunction("update-stats-slag", _updateSlagProduction)
)
func _updateSlagProduction(stub shared.LedgerBuildrStubInterface, ctl shared.ControllerInterface, req shared.TXRequestInterface, requestAsset shared.LedgerBuildrAsset) (shared.LedgerBuildrAsset, error) {
asst, err := middleware.ConvertToTraceableAsset(requestAsset)
if err != nil {
return nil, err
}
status, ok := asst.Get("status")
if ok && status == "slag" {
err := stats.RegisterSlag(stub, asst.Quantity, asst.Units)
if err != nil {
return nil, err
}
}
return asst, nil
}