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

[WIP] Tree Transaction Backfiller #114

Merged
merged 5 commits into from
Dec 12, 2023

Conversation

kespinola
Copy link
Collaborator

@kespinola kespinola commented Dec 7, 2023

resolves metaplex-foundation#150

Tasks

  • Crawl all trees and transactions
  • Write tree_transaction records to db
  • Pickup on last processed transaction
  • Forward transactions to TXNFILL messenger stream
  • Logging
  • Command progress and reports
  • Performance and reliability metrics
  • Ops manifests
  • Documentation

@kespinola kespinola changed the title Tree Transaction Backfiller [WIP] Tree Transaction Backfiller Dec 7, 2023
@Juanito87 Juanito87 changed the base branch from main to triton-build December 11, 2023 19:50
nft_ingester/src/program_transformers/bubblegum/db.rs Outdated Show resolved Hide resolved
Comment on lines +100 to +101
// TODO: assuming tree update available on all transactions but need to confirm.
if let Some(tree_update) = &parsing_result.tree_update {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think decompress will not have tree_update as that decompress doesn't change the Merkle tree. It just creates a token and Token Metadata accounts based on a voucher PDA of a leaf that was previously removed from a tree (via redeem).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok what information changes in the index in this case? Its an instruction only change correct? Nothing in account updates causes the same phase shift.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah maybe decompress doesn't truly need to be backfilled, or perhaps even indexed at all. It looks like everything set in decompress indexing is also set by token-metadata account-based indexing.

nft_ingester/src/stream.rs Outdated Show resolved Hide resolved
tree_backfiller/src/tree.rs Outdated Show resolved Hide resolved
…fetch all trees, fetch associated transactions
… record for fast forwarding tree transaction crawling
…le messenger. mark tree transactons as processed_at so know it completed the index loop.
@kespinola kespinola force-pushed the espi/das-ingester-backfiller branch from 448479e to c311b11 Compare December 12, 2023 11:20
@Juanito87 Juanito87 merged commit 1968c00 into triton-build Dec 12, 2023
2 checks passed
@Juanito87 Juanito87 deleted the espi/das-ingester-backfiller branch December 12, 2023 15:33
@Juanito87 Juanito87 restored the espi/das-ingester-backfiller branch December 12, 2023 15:34
linuskendall pushed a commit that referenced this pull request Dec 29, 2023
* refactor(backfiller): tree backfilling using getSignaturesForAdress. fetch all trees, fetch associated transactions

* feat(backfiller): generate table and model for  query last transaction record for fast forwarding tree transaction crawling

* feat(backfiller): push transaction payloads to redis through the perkle messenger. mark tree transactons as processed_at so know it completed the index loop.

* fix(backfiller): git history changes made from running formatter. just include changes needed by the backfiller.

* fix(backfiller): support mock feature for sea-orm by switching to pg pool and sea_orm adapter.
linuskendall pushed a commit that referenced this pull request Jan 11, 2024
* refactor(backfiller): tree backfilling using getSignaturesForAdress. fetch all trees, fetch associated transactions

* feat(backfiller): generate table and model for  query last transaction record for fast forwarding tree transaction crawling

* feat(backfiller): push transaction payloads to redis through the perkle messenger. mark tree transactons as processed_at so know it completed the index loop.

* fix(backfiller): git history changes made from running formatter. just include changes needed by the backfiller.

* fix(backfiller): support mock feature for sea-orm by switching to pg pool and sea_orm adapter.
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.

[Feature] Tree Sequence Based Backfilling
3 participants