Skip to content

refactor: replace photon-api with progenitor #2219

Merged
ananas-block merged 35 commits intomainfrom
sergey/photon-progenitor
Feb 7, 2026
Merged

refactor: replace photon-api with progenitor #2219
ananas-block merged 35 commits intomainfrom
sergey/photon-progenitor

Conversation

@sergeytimoshin
Copy link
Copy Markdown
Contributor

@sergeytimoshin sergeytimoshin commented Jan 27, 2026

  • Replace hand-written photon-api client with progenitor-generated code from the Photon OpenAPI spec, pulled in via the new external/photon git submodule. Old models, docs, and the openapi-generator scaffolding are removed; the new typed client lives in src/codegen.rs and can be regenerated with cargo build -p photon-api --features generate.
  • Remove api_key across all crates (photon-api, light-client, forester-utils, forester). The API key is now simply embedded in the URL as a query parameter (?api-key=...), eliminating dedicated fields, builder methods, CLI args, and env vars.
  • Rename --compressible-pda-program CLI flag to --light-pda-program in both the CLI and the forester binary.

Breaking Changes

See per-crate CHANGELOG.md files for migration guides:

  • sdk-libs/photon-api/CHANGELOG.md
  • sdk-libs/client/CHANGELOG.md
  • forester-utils/CHANGELOG.md
  • forester/CHANGELOG.md

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jan 27, 2026

Important

Review skipped

Too many files!

This PR contains 279 files, which is 129 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sergey/photon-progenitor

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sergeytimoshin sergeytimoshin marked this pull request as draft January 27, 2026 01:27
- Implemented `get_compressed_mint` and `get_compressed_mint_by_pda` methods in the PhotonIndexer.
- Added `get_compressed_mints_by_authority` method to retrieve compressed mints based on authority.
- Introduced new data structures: `CompressedMint`, `MintData`, and `CompressedMintList` to handle compressed mint data.
- Updated Photon API with new request and response models for compressed mint operations.
- Enhanced error handling for API responses related to compressed mints.
- Updated tests to cover new functionality for compressed mint retrieval.

# Conflicts:
#	forester/tests/test_compressible_mint.rs
#	scripts/devenv/versions.sh
#	sdk-libs/client/src/indexer/mod.rs
#	sdk-libs/client/src/indexer/photon_indexer.rs
#	sdk-libs/client/src/indexer/types.rs
#	sdk-libs/photon-api/src/apis/default_api.rs
#	sdk-libs/photon-api/src/models/mod.rs
…files; refactor mint compression logic to handle batching and improve error handling; enhance test cases for mint creation and compression
…ons to remove Option wrapper and set default value
…int compression test with improved assertions and logging
…nt accounts

refactor: streamline CI workflow in programs.yml and justfile
- Deleted models related to compressed mint requests and responses, including:
  - GetCompressedMintPostRequestParams
  - GetCompressedMintsByAuthorityPostRequest
  - GetMintInterfacePostRequest
  - CompressedMint
  - CompressedMintList
  - MintData
  - MintInterface
- Removed associated enums and methods from the indexer and RPC implementations.
- Updated relevant tests to reflect the removal of mint-related functionality.
@sergeytimoshin sergeytimoshin force-pushed the sergey/photon-progenitor branch from ca798a1 to 946b3de Compare February 6, 2026 14:23
@sergeytimoshin sergeytimoshin marked this pull request as ready for review February 6, 2026 14:24
@sergeytimoshin sergeytimoshin marked this pull request as draft February 6, 2026 14:57
@sergeytimoshin sergeytimoshin marked this pull request as ready for review February 6, 2026 17:57
Copy link
Copy Markdown
Contributor

@ananas-block ananas-block left a comment

Choose a reason for hiding this comment

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

Best move the changelog md to the crate itself else it will get very crowded quickly.
Else lgtm!

@ananas-block ananas-block merged commit 1bdee70 into main Feb 7, 2026
33 checks passed
@ananas-block ananas-block deleted the sergey/photon-progenitor branch February 7, 2026 17:54
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.

2 participants