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

Scraper does not process Sealevel transactions with many non-native programs #5568

Open
ameten opened this issue Feb 26, 2025 · 0 comments
Open

Comments

@ameten
Copy link
Contributor

ameten commented Feb 26, 2025

Sealevel chains support very generic transactions: effectively any combinations of program invocations are possible. It makes it complicated to figure out the recipient of the transaction.

We have considered the recipient of the transaction to be the smart contract which is invoked by the transaction, like Mailbox, but a Sealevel transaction can invoke many non-native programs.

We are using a heuristic to figure out the recipient of the transaction - filtering out all the native programs and consider the only left non-native program as the recipient. This heuristic does not work if there are more than one non-native program invoked by the transaction.

Scraper will report the following error and won't store the transaction (and related messages) to the database:

e: "Other(TooManyNonNativePrograms(0x1decb9035a8b24e4f494e6b39641f7e6f67328c8a9176b258ebed5675b5d60723bc73a63f5a7bbb05e802a4486dd9d0ca2dd8b7bef25ba648ce909af8fa16a09))"
hash: "0x1decb9035a8b24e4f494e6b39641f7e6f67328c8a9176b258ebed5675b5d60723bc73a63f5a7bbb05e802a4486dd9d0ca2dd8b7bef25ba648ce909af8fa16a09"
message: "error fetching and parsing transaction"

The issue stopped at 9:00am on 26th Feb, 2025 since Scraper finished backward indexing of the problematic time period, presumably.

Image

Logs:
https://cloudlogging.app.goo.gl/fScfDv7WnvM9XhXQ9

Options:

  1. Leave the recipient field empty.
  2. Take first non-native program and use it as recipient
  3. Make SealevelProvider aware of Mailbox, IGP and other Hyperlane protocol programs deployed to particular chain and use of of them as recipient (provided that they are mentioned in the transaction)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant