Skip to content

polygon/heimdall: introduce event.Marshall/Unmarshall funcs to hide abi - #11620

Merged
taratorio merged 16 commits into
mainfrom
bor_db_hide_events
Aug 15, 2024
Merged

polygon/heimdall: introduce event.Marshall/Unmarshall funcs to hide abi#11620
taratorio merged 16 commits into
mainfrom
bor_db_hide_events

Conversation

@taratorio

@taratorio taratorio commented Aug 14, 2024

Copy link
Copy Markdown
Member

Relates to and inspired by #11225

Main motivation for this change is to simplify the Bridge Store interface by removing the need to pass an ABI in the function signatures. But it ended up tidying up other bits of the codebase too.

We should do the same for the entities in polygon/heimdall EntityStore as it is much much cleaner

taratorio added a commit that referenced this pull request Aug 15, 2024
I'd like to add `MarshallKey`, `MarshallValue` (and corresponding
`Unmarshall`) receiver functions on `EventRecordWithTime` which hide
away the `abi` detail so callers don't have to deal with the ABI as a
function input everywhere in the code base - PR
#11620

However there is a circular dependency which blocks me from doing that
because `EventRecordWithTime` is in package `polygon/heimdall` and it
imports `polygon/bor` package for `bor.GenesisContractStateReceiverABI`,
however `polygon/bor` imports `polygon/heimdall` for
`EventRecordWithTime` due to the [bor event fallback
hack](https://github.com/erigontech/erigon/blob/main/polygon/bor/bor.go#L1516-L1556)
we have in Bor consensus engine (it is pending removal once we fix the
underlying issue that led to it appearing which is a WIP).

For now, to unblock myself I am moving the bor ABIs in a sub-package
`polygon/bor/borabi`
Base automatically changed from bor_event_abi_tidy to main August 15, 2024 10:40
@taratorio
taratorio marked this pull request as ready for review August 15, 2024 10:47
@taratorio
taratorio enabled auto-merge (squash) August 15, 2024 12:06
@taratorio
taratorio merged commit ef233ed into main Aug 15, 2024
@taratorio
taratorio deleted the bor_db_hide_events branch August 15, 2024 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants