Skip to content

Conversation

TarikGul
Copy link
Member

@TarikGul TarikGul commented Oct 16, 2025

Add RC (Relay Chain) Transaction Endpoints

This PR adds relay chain transaction endpoints to complement the existing parachain transaction endpoints, enabling transaction operations directly on the relay chain when connected to Asset Hub.

New Endpoints

Four new RC transaction endpoints under the /rc/transaction prefix:

  • GET /rc/transaction/material - Get transaction construction material from relay chain
  • GET /rc/transaction/material/:metadataVersion - Get versioned metadata from relay chain
  • POST /rc/transaction/fee-estimate - Estimate transaction fees on relay chain
  • POST /rc/transaction - Submit transactions to relay chain
  • POST /rc/transaction/dry-run - Dry run transactions on relay chain

Architecture Changes

Refactored transaction services to accept API parameter: All transaction services (TransactionMaterialService, TransactionFeeEstimateService, TransactionSubmitService, TransactionDryRunService) now accept an ApiPromise
parameter instead of relying on this.api from the base class. This allows:

  • Regular transaction controllers to pass the parachain API
  • RC transaction controllers to pass the relay chain API via ApiPromiseRegistry.getApiByType('relay')
  • Better separation of concerns for multi-chain scenarios

All existing tests updated accordingly to pass the API parameter.

@TarikGul TarikGul requested a review from a team as a code owner October 16, 2025 08:41
Copy link
Contributor

@filvecchiato filvecchiato left a comment

Choose a reason for hiding this comment

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

I think docs need updating as well?

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