Skip to content

Commit 8ba3d4e

Browse files
Refactor CCTP indexer to use unified sponsored periphery address for all flow events
1 parent baf49b4 commit 8ba3d4e

File tree

3 files changed

+18
-29
lines changed

3 files changed

+18
-29
lines changed

packages/indexer/src/data-indexing/model/hyperEvmExecutor.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,3 @@ export interface FallbackHyperEVMFlowCompletedLog extends providers.Log {
3232
evmAmountSponsored: BigNumber;
3333
};
3434
}
35-
// Taken from https://testnet.purrsec.com/tx/0x1bf0dc091249341d0e91380b1c1d7dca683ab1b6773f7fb011b71a3d017a8fc9
36-
export const HYPERCORE_FLOW_EXECUTOR_ADDRESS: { [key: number]: string } = {
37-
[CHAIN_IDs.HYPEREVM_TESTNET]: "0x06C61D54958a0772Ee8aF41789466d39FfeaeB13",
38-
};
39-
40-
// Taken from https://hyperevmscan.io/tx/0x869d1df5f1e7b6b91a824d8e2b455ac48d1f26f0b5f2823c96df391eb75dff34#eventlog#8
41-
export const ARBITRARY_EVM_FLOW_EXECUTOR_ADDRESS: { [key: number]: string } = {
42-
[CHAIN_IDs.HYPEREVM]: "0x7B164050BBC8e7ef3253e7db0D74b713Ba3F1c95",
43-
};

packages/indexer/src/data-indexing/service/CCTPIndexerDataHandler.ts

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ import { CHAIN_IDs } from "@across-protocol/constants";
55
import { formatFromAddressToChainFormat } from "../../utils";
66
import {
77
BlockRange,
8-
HYPERCORE_FLOW_EXECUTOR_ADDRESS,
98
SimpleTransferFlowCompletedLog,
109
ArbitraryActionsExecutedLog,
1110
FallbackHyperEVMFlowCompletedLog,
12-
ARBITRARY_EVM_FLOW_EXECUTOR_ADDRESS,
1311
} from "../model";
1412
import { IndexerDataHandler } from "./IndexerDataHandler";
1513
import { EventDecoder } from "../../web3/EventDecoder";
@@ -84,6 +82,12 @@ const TOKEN_MESSENGER_ADDRESS: string =
8482
const MESSAGE_TRANSMITTER_ADDRESS: string =
8583
"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275";
8684

85+
// TODO: Update this address once the contract is deployed
86+
const SPONSORED_CCTP_DST_PERIPHERY_ADDRESS: { [key: number]: string } = {
87+
// Taken from https://hyperevmscan.io/address/0x7B164050BBC8e7ef3253e7db0D74b713Ba3F1c95#code
88+
[CHAIN_IDs.HYPEREVM]: "0x7B164050BBC8e7ef3253e7db0D74b713Ba3F1c95",
89+
};
90+
8791
// TODO: Update this address once the contract is deployed
8892
const SPONSORED_CCTP_SRC_PERIPHERY_ADDRESS: { [key: number]: string } = {
8993
[CHAIN_IDs.ARBITRUM_SEPOLIA]: "0x79176E2E91c77b57AC11c6fe2d2Ab2203D87AF85",
@@ -160,10 +164,8 @@ export class CCTPIndexerDataHandler implements IndexerDataHandler {
160164
): Promise<FetchEventsResult> {
161165
const sponsoredCCTPSrcPeripheryAddress =
162166
SPONSORED_CCTP_SRC_PERIPHERY_ADDRESS[this.chainId];
163-
const hyperEvmExecutorAddress =
164-
HYPERCORE_FLOW_EXECUTOR_ADDRESS[this.chainId];
165-
const arbitraryEvmFlowExecutorAddress =
166-
ARBITRARY_EVM_FLOW_EXECUTOR_ADDRESS[this.chainId];
167+
const sponsoredCCTPDstPeripheryAddress =
168+
SPONSORED_CCTP_DST_PERIPHERY_ADDRESS[this.chainId];
167169

168170
const tokenMessengerContract = new ethers.Contract(
169171
TOKEN_MESSENGER_ADDRESS,
@@ -268,30 +270,26 @@ export class CCTPIndexerDataHandler implements IndexerDataHandler {
268270

269271
let simpleTransferFlowCompletedEvents: SimpleTransferFlowCompletedLog[] =
270272
[];
271-
if (hyperEvmExecutorAddress) {
273+
let arbitraryActionsExecutedEvents: ArbitraryActionsExecutedLog[] = [];
274+
let fallbackHyperEVMFlowCompletedEvents: FallbackHyperEVMFlowCompletedLog[] =
275+
[];
276+
if (sponsoredCCTPDstPeripheryAddress) {
272277
simpleTransferFlowCompletedEvents =
273278
this.getSimpleTransferFlowCompletedEventsFromTransactionReceipts(
274279
filteredMessageReceivedTxReceipts,
275-
hyperEvmExecutorAddress,
280+
sponsoredCCTPDstPeripheryAddress,
276281
);
277-
}
278282

279-
let arbitraryActionsExecutedEvents: ArbitraryActionsExecutedLog[] = [];
280-
if (arbitraryEvmFlowExecutorAddress) {
281283
arbitraryActionsExecutedEvents =
282284
this.getArbitraryActionsExecutedEventsFromTransactionReceipts(
283285
filteredMessageReceivedTxReceipts,
284-
arbitraryEvmFlowExecutorAddress,
286+
sponsoredCCTPDstPeripheryAddress,
285287
);
286-
}
287288

288-
let fallbackHyperEVMFlowCompletedEvents: FallbackHyperEVMFlowCompletedLog[] =
289-
[];
290-
if (arbitraryEvmFlowExecutorAddress) {
291289
fallbackHyperEVMFlowCompletedEvents =
292290
this.getFallbackHyperEVMFlowCompletedEventsFromTransactionReceipts(
293291
filteredMessageReceivedTxReceipts,
294-
arbitraryEvmFlowExecutorAddress,
292+
sponsoredCCTPDstPeripheryAddress,
295293
);
296294
}
297295

packages/indexer/src/data-indexing/tests/CCTPIndexerDataHandler.integration.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,9 @@ describe("CCTPIndexerDataHandler", () => {
116116

117117
it("should fetch and store SimpleTransferFlowCompleted event in the database", async () => {
118118
const transactionHash =
119-
"0x1bf0dc091249341d0e91380b1c1d7dca683ab1b6773f7fb011b71a3d017a8fc9";
120-
const blockNumber = 36200188;
121-
setupTestForChainId(CHAIN_IDs.HYPEREVM_TESTNET);
119+
"0x0e07cf92929a5e3c9d18ba28c71bf50b678d357eb9f433ed305ac6ab958f0abb";
120+
const blockNumber = 18541961;
121+
setupTestForChainId(CHAIN_IDs.HYPEREVM);
122122

123123
const blockRange: BlockRange = {
124124
from: blockNumber,

0 commit comments

Comments
 (0)