-
Notifications
You must be signed in to change notification settings - Fork 5
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
feat: agg-sender #22
feat: agg-sender #22
Conversation
c4fec21
to
d5154cf
Compare
8630c9e
to
b4cafa4
Compare
72da12c
to
f121e17
Compare
778fb96
to
6daaabf
Compare
aae1445
to
746f647
Compare
e7c7d70
to
cd50970
Compare
651a5c4
to
489a89f
Compare
This is being kept hidden by the GithubUI but it's important #22 (comment) |
76a7a25
to
c8ee26b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
plz revert the changes done in #140 before merging
If we revert this PR we are going to have a bug if somebody calls
We have to decide this point, reverting without any other solution (so introduce a bug) i think that is not acceptable. |
I like this solution, isn't this how it's supposed to work? |
12ca5ef
to
8cd9de3
Compare
* use l1info root insetead of ger to generate merkleproof * fix: uts * fix: different l1 info trees test * fix: ut --------- Co-authored-by: Goran Rojovic <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quality Gate passedIssues Measures |
The PR have been reverted
Description
This PR implements the
Aggsender
component which is tasked of sending certificates to theagglayer
using theinterop_sendCeritificate
rpc endpoint.Config
Next code is an example of the
Aggsender
configuration:Required components (services)
The
aggsender
utilizes next components in the cdk repo to build a certificate:L1 client
to get L1 blocks - certificates are settled on agglayer one by CDK in a single L1 epoch (configured by theEpochSize
in the config), so we need to know how many L1 blocks have passed so we can send another certificate.L2 client
- to get the last block on the L2. This is needed to know to which block we get claims and bridges on L2 to send them in a certificate.L2 bridge syncer
- to get bridges, claims and blocks on L2, needed for a certificate.L1 info tree syncer
- to build inclusion proofs.Agglayer client
- needed to send certificates to the agglayer, and check if sent certificates were settled on the agglayer.DB
Aggsender
saves sent certificates in its localSQLite
db. It has one table calledcertificate_info
in which it saves this data:Height
- is a simple counter of this cdk's certificates. We can look at it as a nonce. It gets incremented by sending and settling certificates.CertificateID
- certificates Hash.NewLocalExitRoot
- new local exit root posted through the certificate (gotten from l2 bridge syncer).FromBlock
- block from which we got bridges and claims on L2.ToBlock
- block to which we got bridges and claims on L2.Status
- certificate status onagglayer
. It can bePending
(pending to be settled),Settled
, orInError
(if some error happens on certificate settling).Flow