Closed illia-malachyn closed 4 months ago
Can u review it? @peterargue
I got it working in my original PR against testnet. needed to make the following changes
v0.33.17
onflow/flow-core-contracts
to v1.2.4
After those changes, it was able to index using my PR.
@illia-malachyn I think the issues you had were related to updating to library versions that do not support testnet which is running v0.33
. Try with the go.mod in my PR
The indexer is working even without these changes. I added the decodePayload
function as it seems reasonable. I didn't update to the versions you've proposed. Is that fine?
I double-checked this PR. The indexer works well. All 3 commits are required. We can merge it I guess @peterargue
The recent changes enhance the encoding and processing of events and transactions by introducing the EventEncodingVersion
field in several functions within access/access.go
. This ensures that the payloads are correctly formatted in the CCF
format. Additionally, the event hash check in state/process.go
has been updated to handle full event payloads. The testnet-clone.json
file also saw updates in the spork configuration.
File Path | Change Summary |
---|---|
access/access.go |
Added EventEncodingVersion field to multiple functions to ensure correct payload formatting. |
state/convert.go |
Replaced jsoncdc.Decode with decodePayload for handling different payload decoding scenarios. |
state/process.go |
Updated loop to use eventHash and added error logging for mismatched event hashes. |
testnet-clone.json |
Updated spork configuration: changed root_block and version for spork ID 37 . |
sequenceDiagram
participant Client
participant AccessService
participant Entities
Client->>AccessService: BlockEvents()
AccessService->>Entities: GetEventsForBlockIDsRequest(EventEncodingVersion)
Entities-->>AccessService: Event Data
AccessService-->>Client: Event Data
Client->>AccessService: Transaction()
AccessService->>Entities: GetTransactionRequest(EventEncodingVersion)
Entities-->>AccessService: Transaction Data
AccessService-->>Client: Transaction Data
Client->>AccessService: TransactionResult()
AccessService->>Entities: GetTransactionByIndexRequest(EventEncodingVersion)
Entities-->>AccessService: Transaction Result Data
AccessService-->>Client: Transaction Result Data
Objective (Issue #41) | Addressed | Explanation |
---|---|---|
Convert payload format to the correct CCF format |
✅ | |
Request full event payload, including system events | ✅ | |
Correct event hash computation | ✅ |
In code's embrace, events now flow, With
CCF
they rightly show. Hashes checked, errors caught, Progress made, solutions brought. Sporks aligned in JSON's glow, Onward, upward, let us go!
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Closes #41
Summary by CodeRabbit
New Features
Bug Fixes
Configuration
testnet-clone.json
with new spork configuration for better network synchronization.