Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decompressor Library #31

Open
wants to merge 53 commits into
base: main
Choose a base branch
from
Open

Conversation

Tabaie
Copy link
Contributor

@Tabaie Tabaie commented Sep 12, 2024

This PR implements creates a decompressor library capable of managing different blob versions and dictionaries. Its output consists of an RLP encoded list of blocks. Due to some information loss during compression, two pieces of information are represented "hackily":

  • The block hash is in the ParentHash field, not the hash field itself, as go-ethereum computes that field itself, not allowing users to set it manually.
  • The transaction from address is in the signature.R field.

NOTE Only the Go side has been tested. Need contribution from a Kotlin developer to make this merge-ready.

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • I have informed the team of any breaking changes if there are any.

Copy link

github-actions bot commented Sep 13, 2024

Delta Summary - Kotlin Code Coverage

Generated on: 09/14/2024 - 15:26
Description Previous Current Delta
Coverage date: 09/14/2024 - 15:26 09/14/2024 - 15:26
Tag: 118_10863448018 118_10863448018
Line coverage: 27.6% 27.6% 0.0%
Covered lines: 26071 26071 0
Coverable lines: 94280 94280 0
Total lines: 133202 133202 0
Branch coverage: 10.5% 10.5% 0.0%
Covered branches: 5638 5638 0
Total branches: 53419 53419 0
Method coverage: Feature is only available for sponsors

@Tabaie Tabaie force-pushed the prover/feat/libdecompressor-abuseeth branch from 73abfa9 to e8456cb Compare September 13, 2024 16:56
@jpnovais
Copy link
Collaborator

Hi @Tabaie I made a release of the decompressor lib from this branch and created a basic test but it fails with error.

Maybe I am initializing the decompressor wrongly. Please take a take a look at the test. You can run them with

./gradlew jvm-libs:blob-decompressor:test
Error looking up function 'Error': dlsym(0x8b047c60, Error): symbol not found
java.lang.UnsatisfiedLinkError: Error looking up function 'Error': dlsym(0x8b047c60, Error): symbol not found
	at com.sun.jna.Function.<init>(Function.java:255)

@Tabaie
Copy link
Contributor Author

Tabaie commented Sep 15, 2024

@jpnovais the Kotlin side is probably all wrong. I was hoping to hammer that part out together with yourself or @gauravahuja.

^ seems like you've already done all that. I'll take a look today or tomorrow. 👍

@Tabaie Tabaie requested a deployment to docker-build-and-e2e October 14, 2024 22:21 — with GitHub Actions Waiting
@Tabaie Tabaie requested a deployment to docker-build-and-e2e October 17, 2024 01:06 — with GitHub Actions Waiting
@Tabaie Tabaie requested a deployment to docker-build-and-e2e October 18, 2024 16:22 — with GitHub Actions Waiting
@Tabaie Tabaie deployed to docker-build-and-e2e October 18, 2024 17:49 — with GitHub Actions Active
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.

4 participants