Skip to content

feat(adapter-stellar): update indexer client for multi-chain indexer schema#334

Merged
pasevin merged 5 commits intomainfrom
feat/stellar-adapter-multi-chain-indexer
Feb 5, 2026
Merged

feat(adapter-stellar): update indexer client for multi-chain indexer schema#334
pasevin merged 5 commits intomainfrom
feat/stellar-adapter-multi-chain-indexer

Conversation

@pasevin
Copy link
Collaborator

@pasevin pasevin commented Feb 4, 2026

Summary

  • Update the Stellar adapter to support the new multi-chain access control indexer schema
  • Use eventType instead of type in GraphQL queries
  • Use blockNumber instead of blockHeight
  • Add support for previousOwner/newOwner and previousAdmin/newAdmin fields
  • Add normalizeAccount() helper for backward-compatible data extraction
  • Add support for ROLE_ADMIN_CHANGED, OWNERSHIP_RENOUNCED, and ADMIN_RENOUNCED event types

Context

This update aligns the Stellar adapter with the new multi-chain access control indexers schema. The changes maintain full backward compatibility with existing public interfaces, meaning Role Manager requires no code changes - only a dependency update to this new adapter version.

Dependencies

Test plan

  • All 766 unit tests pass
  • TypeScript compilation passes
  • Integration test with deployed multi-chain indexer
  • Verify Role Manager displays correct data with new adapter

…schema

Update the Stellar adapter to support the new multi-chain access control
indexer schema while maintaining full backward compatibility.

Changes:
- Use `eventType` instead of `type` in GraphQL queries
- Use `blockNumber` instead of `blockHeight`
- Add support for `previousOwner`/`newOwner` and `previousAdmin`/`newAdmin` fields
- Add `normalizeAccount()` helper for backward-compatible data extraction
- Add support for `ROLE_ADMIN_CHANGED`, `OWNERSHIP_RENOUNCED`, and `ADMIN_RENOUNCED` event types

The public interfaces remain unchanged, so Role Manager requires no code changes -
only a dependency update to the new adapter version.
@pasevin pasevin requested a review from a team as a code owner February 4, 2026 21:39
@pasevin pasevin requested a review from Copilot February 4, 2026 21:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Stellar adapter's indexer client to support a new multi-chain access control indexer schema. The changes include field name updates (typeeventType, blockHeightblockNumber), new field support for ownership/admin transfers (previousOwner, newOwner, previousAdmin, newAdmin), and support for new event types (ROLE_ADMIN_CHANGED, OWNERSHIP_RENOUNCED, ADMIN_RENOUNCED).

Changes:

  • Updated GraphQL queries to use eventType instead of type and blockNumber instead of blockHeight
  • Added new fields to IndexerHistoryEntry interface for multi-chain schema support
  • Implemented normalizeAccount() helper to handle different field mappings per event type
  • Added support for three new event types in the mapping logic

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
packages/adapter-stellar/src/access-control/indexer-client.ts Main implementation: updated interface, queries, field mappings, and added normalizeAccount() helper
packages/adapter-stellar/test/access-control/indexer-client.spec.ts Updated test data to use new field names (eventType, blockNumber)
packages/adapter-stellar/test/access-control/ownable-two-step.test.ts Updated ownership transfer test data with new field names and event types
packages/adapter-stellar/test/access-control/admin-two-step.test.ts Updated admin transfer test data with new field names and event types
.changeset/multi-chain-indexer-support.md Added changeset documentation describing the updates

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Remove backward compatibility fallback logic for legacy fields
- Update test data to use new field names (previousOwner, newOwner,
  previousAdmin, newAdmin) exclusively
- Fix incorrect event type in test (OWNERSHIP_TRANSFER_INITIATED →
  OWNERSHIP_TRANSFER_STARTED)
- Clean up IndexerHistoryEntry interface to remove legacy admin field
- Update normalizeAccount() to handle all event types without fallbacks
The dependency-review workflow was blocking our own AGPL-licensed packages.
Since we're consuming our own packages, this check is unnecessary.
@pasevin pasevin merged commit fb8f511 into main Feb 5, 2026
12 checks passed
@pasevin pasevin deleted the feat/stellar-adapter-multi-chain-indexer branch February 5, 2026 09:49
@oz-release-app oz-release-app bot mentioned this pull request Feb 5, 2026
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.

1 participant