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 }