Skip to content

Conversation

@NikolasHaimerl
Copy link
Contributor

@NikolasHaimerl NikolasHaimerl commented Jan 6, 2026

Adds Sponsored deposit for burn events to the websocket indexer.
The sponsored flow will be separated into three components:

  • SPONSORED_CCTP_PROTOCOL: This includes the regular CCTP Protocol + CCTP specific sponsored events (SponsoredDepositForBurn)
  • SPONSORED_BRIDGING_PROTOCOL: This includes all non protocol specific sponsored events
  • SPONSORED_OFT_PROTOCOL: This includes these regular OFT protocol + OFT specific sponsored events (SponsoredOFTSend)

Depends on #572

@NikolasHaimerl NikolasHaimerl changed the base branch from stage to nikolas/sponsored-protocol-ws-support January 6, 2026 14:58
@NikolasHaimerl NikolasHaimerl changed the base branch from nikolas/sponsored-protocol-ws-support to stage January 6, 2026 16:35
Comment on lines +61 to +70
const depositArgs = decodeEventFromReceipt<DepositForBurnArgs>(
payload.transactionReceipt,
parseAbi(CCTP_DEPOSIT_FOR_BURN_ABI),
DEPOSIT_FOR_BURN_EVENT_NAME,
);
if (depositArgs) {
args.destinationChainId = getCctpDestinationChainFromDomain(
depositArgs.destinationDomain,
);
} else {
Copy link
Contributor

Choose a reason for hiding this comment

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

I thought that we're going the fetch events separately. OOC why is the destinationChainId needed to be associated with the SponsoredDepositForBurn? Is it for formatting addresses?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes it is for formatting addresses, we do the same for the regular CCTP indexer here:

const destinationChainId = getCctpDestinationChainFromDomain(

Copy link
Contributor Author

@NikolasHaimerl NikolasHaimerl Jan 8, 2026

Choose a reason for hiding this comment

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

What do you mean with events being fetched separately?
The websocket listens to DepositForBurn and SponsoredDepositForBurn separately.

Comment on lines +13 to +15
* Stores a DepositForBurn event in the database.
*
* @param event The DepositForBurn entity to store.
Copy link
Contributor

Choose a reason for hiding this comment

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

SponsoredDepositForBurn

@NikolasHaimerl
Copy link
Contributor Author

Closed in favour of #580

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.

3 participants