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

Run verification of TTP events on full history #5624

Open
tamirms opened this issue Mar 17, 2025 · 0 comments
Open

Run verification of TTP events on full history #5624

tamirms opened this issue Mar 17, 2025 · 0 comments

Comments

@tamirms
Copy link
Contributor

tamirms commented Mar 17, 2025

To reduce the risk of bugs in the token transfer processor we can run the processor on all history.

For each ledger, we can check that the sum of all the asset movements derived from events is equivalent to the sum of all asset movements derived from ledger entry changes in the LedgerCloseMeta. See https://github.com/stellar/go/blob/0e69632de1e223dd72a68d01264e9d1e46773dc0/ingest/processors/token_transfer/verify_events.go for implementation.

@chowbao has suggested running the token transfer processor in stellar-etl to produce a full history token transfer table in big query.

when we include the TTP in stellar-etl we can simply invoke VerifyTtpOnLedger() along side the TTP. If VerifyTtpOnLedger() surfaces a discrepancy between the events and Tx Meta, we can fail the stellar-etl run on that ledger.

This method should provide a pretty comprehensive check on the correctness of TTP events derived from stellar classic operations. For TTP events derived from soroban transactions we will need to update the verification logic, that work is captured in #5625

@chowbao chowbao moved this from To Do to In Progress in Platform Scrum Mar 17, 2025
@chowbao chowbao added this to the platform sprint 57 milestone Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

2 participants