github.com/onflow/flow-go@v0.35.7-crescendo-preview.23-atree-inlining/engine/access/rest/models/execution_result.go (about)

     1  package models
     2  
     3  import (
     4  	"github.com/onflow/flow-go/engine/access/rest/util"
     5  	"github.com/onflow/flow-go/model/flow"
     6  )
     7  
     8  func (e *ExecutionResult) Build(
     9  	exeResult *flow.ExecutionResult,
    10  	link LinkGenerator,
    11  ) error {
    12  	self, err := SelfLink(exeResult.ID(), link.ExecutionResultLink)
    13  	if err != nil {
    14  		return err
    15  	}
    16  
    17  	events := make([]Event, len(exeResult.ServiceEvents))
    18  	for i, e := range exeResult.ServiceEvents {
    19  		events[i] = Event{
    20  			Type_: e.Type.String(),
    21  		}
    22  	}
    23  
    24  	e.Id = exeResult.ID().String()
    25  	e.BlockId = exeResult.BlockID.String()
    26  	e.Events = events
    27  	e.Links = self
    28  
    29  	e.PreviousResultId = exeResult.PreviousResultID.String()
    30  
    31  	chunks := make([]Chunk, len(exeResult.Chunks))
    32  
    33  	for i, flowChunk := range exeResult.Chunks {
    34  		var chunk Chunk
    35  		chunk.Build(flowChunk)
    36  		chunks[i] = chunk
    37  	}
    38  	e.Chunks = chunks
    39  	return nil
    40  }
    41  
    42  func (c *Chunk) Build(chunk *flow.Chunk) {
    43  	c.BlockId = chunk.BlockID.String()
    44  	c.Index = util.FromUint64(chunk.Index)
    45  	c.CollectionIndex = util.FromUint64(uint64(chunk.CollectionIndex))
    46  	c.StartState = util.ToBase64(chunk.StartState[:])
    47  	c.EndState = util.ToBase64(chunk.EndState[:])
    48  	c.NumberOfTransactions = util.FromUint64(chunk.NumberOfTransactions)
    49  	c.EventCollection = chunk.EventCollection.String()
    50  	c.TotalComputationUsed = util.FromUint64(chunk.TotalComputationUsed)
    51  }