@@ -21,6 +21,7 @@ package adapters
21
21
import (
22
22
"context"
23
23
"fmt"
24
+ "github.com/onflow/flow/protobuf/go/flow/entities"
24
25
25
26
jsoncdc "github.com/onflow/cadence/encoding/json"
26
27
"github.com/onflow/flow-emulator/emulator"
@@ -188,6 +189,7 @@ func (a *AccessAdapter) GetTransactionResult(
188
189
id flowgo.Identifier ,
189
190
_ flowgo.Identifier ,
190
191
_ flowgo.Identifier ,
192
+ requiredEventEncodingVersion entities.EventEncodingVersion ,
191
193
) (
192
194
* access.TransactionResult ,
193
195
error ,
@@ -197,11 +199,13 @@ func (a *AccessAdapter) GetTransactionResult(
197
199
return nil , convertError (err )
198
200
}
199
201
200
- result .Events , err = ConvertCCFEventsToJsonEvents (result .Events )
201
- if err != nil {
202
- return nil , convertError (err )
202
+ // Convert CCF events to JSON events, else return CCF encoded version
203
+ if requiredEventEncodingVersion == entities .EventEncodingVersion_JSON_CDC_V0 {
204
+ result .Events , err = ConvertCCFEventsToJsonEvents (result .Events )
205
+ if err != nil {
206
+ return nil , convertError (err )
207
+ }
203
208
}
204
-
205
209
a .logger .Debug ().
206
210
Str ("txID" , id .String ()).
207
211
Msg ("📝 GetTransactionResult called" )
@@ -323,6 +327,7 @@ func (a *AccessAdapter) GetEventsForHeightRange(
323
327
_ context.Context ,
324
328
eventType string ,
325
329
startHeight , endHeight uint64 ,
330
+ requiredEventEncodingVersion entities.EventEncodingVersion ,
326
331
) ([]flowgo.BlockEvents , error ) {
327
332
events , err := a .emulator .GetEventsForHeightRange (eventType , startHeight , endHeight )
328
333
if err != nil {
@@ -331,12 +336,14 @@ func (a *AccessAdapter) GetEventsForHeightRange(
331
336
332
337
eventCount := 0
333
338
334
- // Convert CCF events to JSON events
335
- for i := range events {
336
- events [i ].Events , err = ConvertCCFEventsToJsonEvents (events [i ].Events )
337
- eventCount = eventCount + len (events [i ].Events )
338
- if err != nil {
339
- return nil , convertError (err )
339
+ // Convert CCF events to JSON events, else return CCF encoded version
340
+ if requiredEventEncodingVersion == entities .EventEncodingVersion_JSON_CDC_V0 {
341
+ for i := range events {
342
+ events [i ].Events , err = ConvertCCFEventsToJsonEvents (events [i ].Events )
343
+ eventCount = eventCount + len (events [i ].Events )
344
+ if err != nil {
345
+ return nil , convertError (err )
346
+ }
340
347
}
341
348
}
342
349
@@ -354,6 +361,7 @@ func (a *AccessAdapter) GetEventsForBlockIDs(
354
361
_ context.Context ,
355
362
eventType string ,
356
363
blockIDs []flowgo.Identifier ,
364
+ requiredEventEncodingVersion entities.EventEncodingVersion ,
357
365
) ([]flowgo.BlockEvents , error ) {
358
366
events , err := a .emulator .GetEventsForBlockIDs (eventType , blockIDs )
359
367
if err != nil {
@@ -362,12 +370,14 @@ func (a *AccessAdapter) GetEventsForBlockIDs(
362
370
363
371
eventCount := 0
364
372
365
- // Convert CCF events to JSON events
366
- for i := range events {
367
- events [i ].Events , err = ConvertCCFEventsToJsonEvents (events [i ].Events )
368
- eventCount = eventCount + len (events [i ].Events )
369
- if err != nil {
370
- return nil , convertError (err )
373
+ // Convert CCF events to JSON events, else return CCF encoded version
374
+ if requiredEventEncodingVersion == entities .EventEncodingVersion_JSON_CDC_V0 {
375
+ for i := range events {
376
+ events [i ].Events , err = ConvertCCFEventsToJsonEvents (events [i ].Events )
377
+ eventCount = eventCount + len (events [i ].Events )
378
+ if err != nil {
379
+ return nil , convertError (err )
380
+ }
371
381
}
372
382
}
373
383
@@ -391,7 +401,12 @@ func (a *AccessAdapter) GetExecutionResultByID(_ context.Context, _ flowgo.Ident
391
401
return nil , nil
392
402
}
393
403
394
- func (a * AccessAdapter ) GetTransactionResultByIndex (_ context.Context , blockID flowgo.Identifier , index uint32 ) (* access.TransactionResult , error ) {
404
+ func (a * AccessAdapter ) GetTransactionResultByIndex (
405
+ _ context.Context ,
406
+ blockID flowgo.Identifier ,
407
+ index uint32 ,
408
+ requiredEventEncodingVersion entities.EventEncodingVersion ,
409
+ ) (* access.TransactionResult , error ) {
395
410
results , err := a .emulator .GetTransactionResultsByBlockID (blockID )
396
411
if err != nil {
397
412
return nil , convertError (err )
@@ -400,11 +415,13 @@ func (a *AccessAdapter) GetTransactionResultByIndex(_ context.Context, blockID f
400
415
return nil , convertError (& types.TransactionNotFoundError {ID : flowgo.Identifier {}})
401
416
}
402
417
403
- // Convert CCF events to JSON events
404
- for i := range results {
405
- results [i ].Events , err = ConvertCCFEventsToJsonEvents (results [i ].Events )
406
- if err != nil {
407
- return nil , convertError (err )
418
+ // Convert CCF events to JSON events, else return CCF encoded version
419
+ if requiredEventEncodingVersion == entities .EventEncodingVersion_JSON_CDC_V0 {
420
+ for i := range results {
421
+ results [i ].Events , err = ConvertCCFEventsToJsonEvents (results [i ].Events )
422
+ if err != nil {
423
+ return nil , convertError (err )
424
+ }
408
425
}
409
426
}
410
427
@@ -419,17 +436,23 @@ func (a *AccessAdapter) GetTransactionsByBlockID(_ context.Context, blockID flow
419
436
return result , nil
420
437
}
421
438
422
- func (a * AccessAdapter ) GetTransactionResultsByBlockID (_ context.Context , blockID flowgo.Identifier ) ([]* access.TransactionResult , error ) {
439
+ func (a * AccessAdapter ) GetTransactionResultsByBlockID (
440
+ _ context.Context ,
441
+ blockID flowgo.Identifier ,
442
+ requiredEventEncodingVersion entities.EventEncodingVersion ,
443
+ ) ([]* access.TransactionResult , error ) {
423
444
result , err := a .emulator .GetTransactionResultsByBlockID (blockID )
424
445
if err != nil {
425
446
return nil , convertError (err )
426
447
}
427
448
428
- // Convert CCF events to JSON events
429
- for i := range result {
430
- result [i ].Events , err = ConvertCCFEventsToJsonEvents (result [i ].Events )
431
- if err != nil {
432
- return nil , convertError (err )
449
+ // Convert CCF events to JSON events, else return CCF encoded version
450
+ if requiredEventEncodingVersion == entities .EventEncodingVersion_JSON_CDC_V0 {
451
+ for i := range result {
452
+ result [i ].Events , err = ConvertCCFEventsToJsonEvents (result [i ].Events )
453
+ if err != nil {
454
+ return nil , convertError (err )
455
+ }
433
456
}
434
457
}
435
458
0 commit comments