Skip to content
Snippets Groups Projects
Select Git revision
  • 67f305aeb8179a6d4ba558a67b4eecac619e81e7
  • main default
2 results

stats.go

Blame
  • 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
    }