From 744eff9f9d1ef0384e3ec3da4853f6601fe7c299 Mon Sep 17 00:00:00 2001 From: signature18632 Date: Fri, 15 Aug 2025 12:31:54 +0700 Subject: [PATCH 1/2] mock decoded relayer --- packages/mock-l1-to-l2-relayer/src/constants.ts | 7 +++++++ .../mock-l1-to-l2-relayer/src/service/decode.service.ts | 6 ++++++ .../mock-l1-to-l2-relayer/src/service/event.service.ts | 4 ++++ packages/mock-l1-to-l2-relayer/src/service/job.service.ts | 4 ++-- packages/shared/src/config/index.ts | 2 ++ packages/shared/src/constants/constants.ts | 3 +++ 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/mock-l1-to-l2-relayer/src/constants.ts b/packages/mock-l1-to-l2-relayer/src/constants.ts index 1277f8b..501559e 100644 --- a/packages/mock-l1-to-l2-relayer/src/constants.ts +++ b/packages/mock-l1-to-l2-relayer/src/constants.ts @@ -1,2 +1,9 @@ +import { config, FIRESTORE_DOCUMENT_EVENTS } from "@intmax2-function/shared"; + // batch export const MAX_RELAYER_BATCH_SIZE = 450; + +// db +export const relayerDBName = config.MOCK_L1_SENDER_EVENT_DECODE_ENABLED + ? FIRESTORE_DOCUMENT_EVENTS.MOCK_MESSENGER_RELAYER + : FIRESTORE_DOCUMENT_EVENTS.MOCK_MESSENGER_RELAYER_UNDECODED; diff --git a/packages/mock-l1-to-l2-relayer/src/service/decode.service.ts b/packages/mock-l1-to-l2-relayer/src/service/decode.service.ts index 06e249b..b535a73 100644 --- a/packages/mock-l1-to-l2-relayer/src/service/decode.service.ts +++ b/packages/mock-l1-to-l2-relayer/src/service/decode.service.ts @@ -21,6 +21,12 @@ export const generateDepositsCalldata = async ( ethereumClient: PublicClient, l1SentMessageEvent: SentMessageEvent, ) => { + if (!config.MOCK_L1_SENDER_EVENT_DECODE_ENABLED) { + return [ + { ...l1SentMessageEvent.args, encodedCalldata: l1SentMessageEvent.args.message }, + ] as BatchedCalldata[]; + } + const { lastProcessedDepositId, depositHashes } = decodeL1SentMessage(l1SentMessageEvent); const rejectedIds = await fetchLatestRejectedIds( diff --git a/packages/mock-l1-to-l2-relayer/src/service/event.service.ts b/packages/mock-l1-to-l2-relayer/src/service/event.service.ts index 5f7d904..d226a40 100644 --- a/packages/mock-l1-to-l2-relayer/src/service/event.service.ts +++ b/packages/mock-l1-to-l2-relayer/src/service/event.service.ts @@ -3,6 +3,7 @@ import { fetchEvents, l1SentMessageEvent, MOCK_L1_SCROLL_MESSENGER_CONTRACT_ADDRESS, + MOCK_L1_SENDER_CONTRACT_ADDRESS, type SentMessageEvent, } from "@intmax2-function/shared"; import type { PublicClient } from "viem"; @@ -18,6 +19,9 @@ export const fetchSentMessages = async ( blockRange: BLOCK_RANGE_MINIMUM, contractAddress: MOCK_L1_SCROLL_MESSENGER_CONTRACT_ADDRESS, eventInterface: l1SentMessageEvent, + args: { + sender: MOCK_L1_SENDER_CONTRACT_ADDRESS, + }, }); return l1SentMessageEvents; diff --git a/packages/mock-l1-to-l2-relayer/src/service/job.service.ts b/packages/mock-l1-to-l2-relayer/src/service/job.service.ts index 35829c2..6bd02f4 100644 --- a/packages/mock-l1-to-l2-relayer/src/service/job.service.ts +++ b/packages/mock-l1-to-l2-relayer/src/service/job.service.ts @@ -2,12 +2,12 @@ import { createNetworkClient, Event, type EventData, - FIRESTORE_DOCUMENT_EVENTS, getStartBlockNumber, logger, MOCK_L1_SCROLL_MESSENGER_CONTRACT_DEPLOYED_BLOCK, validateBlockRange, } from "@intmax2-function/shared"; +import { relayerDBName } from "../constants"; import { generateDepositsCalldata } from "./decode.service"; import { fetchSentMessages } from "./event.service"; import { submitRelayMessagesToL2MockMessenger } from "./submit.service"; @@ -15,7 +15,7 @@ import { submitRelayMessagesToL2MockMessenger } from "./submit.service"; export const performJob = async (): Promise => { const ethereumClient = createNetworkClient("ethereum"); const scrollClient = createNetworkClient("scroll"); - const event = new Event(FIRESTORE_DOCUMENT_EVENTS.MOCK_MESSENGER_RELAYER); + const event = new Event(relayerDBName); const [currentBlockNumber, lastProcessedEvent] = await Promise.all([ ethereumClient.getBlockNumber(), diff --git a/packages/shared/src/config/index.ts b/packages/shared/src/config/index.ts index a82e9cb..2b62c10 100644 --- a/packages/shared/src/config/index.ts +++ b/packages/shared/src/config/index.ts @@ -82,6 +82,8 @@ export const config = cleanEnv(process.env, { MOCK_L1_SCROLL_MESSENGER_CONTRACT_DEPLOYED_BLOCK: num({ default: 0 }), MOCK_L2_SCROLL_MESSENGER_CONTRACT_ADDRESS: str({ default: "0x" }), MOCK_L2_SCROLL_MESSENGER_CONTRACT_DEPLOYED_BLOCK: num({ default: 0 }), + MOCK_L1_SENDER_CONTRACT_ADDRESS: str({ default: "0x" }), + MOCK_L1_SENDER_EVENT_DECODE_ENABLED: bool({ default: true }), // private key INTMAX2_OWNER_MNEMONIC: str({ devDefault: "", desc: "Owner mnemonic for Intmax2" }), MOCK_MESSENGER_PRIVATE_KEY: str({ diff --git a/packages/shared/src/constants/constants.ts b/packages/shared/src/constants/constants.ts index cfbf6f8..2403633 100644 --- a/packages/shared/src/constants/constants.ts +++ b/packages/shared/src/constants/constants.ts @@ -30,6 +30,7 @@ export const FIRESTORE_DOCUMENT_EVENTS = { DEPOSITED: "deposited", DEPOSITS_RELAYED_TOKEN_MAPS: "depositsRelayedTokenMaps", MOCK_MESSENGER_RELAYER: "mockMessengerRelayer", + MOCK_MESSENGER_RELAYER_UNDECODED: "mockMessengerRelayerUndecoded", MOCK_L2_SENT_MESSAGE: "mockL2SentMessage", BLOCK_BUILDER_HEART_BEAT: "blockBuilderHeartBeat", MINTER: "minter", @@ -76,6 +77,8 @@ export const MOCK_L2_SCROLL_MESSENGER_CONTRACT_ADDRESS = config.MOCK_L2_SCROLL_MESSENGER_CONTRACT_ADDRESS as `0x${string}`; export const MOCK_L2_SCROLL_MESSENGER_CONTRACT_DEPLOYED_BLOCK = config.MOCK_L2_SCROLL_MESSENGER_CONTRACT_DEPLOYED_BLOCK; +export const MOCK_L1_SENDER_CONTRACT_ADDRESS = + config.MOCK_L1_SENDER_CONTRACT_ADDRESS as `0x${string}`; // token export const ETH_SYMBOL = "ETH"; From 50cfdba651a2b6221971010f0df857af08dab672 Mon Sep 17 00:00:00 2001 From: signature18632 Date: Fri, 15 Aug 2025 20:01:14 +0700 Subject: [PATCH 2/2] submit commit --- packages/mock-l1-to-l2-relayer/src/service/submit.service.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/mock-l1-to-l2-relayer/src/service/submit.service.ts b/packages/mock-l1-to-l2-relayer/src/service/submit.service.ts index f298083..0144577 100644 --- a/packages/mock-l1-to-l2-relayer/src/service/submit.service.ts +++ b/packages/mock-l1-to-l2-relayer/src/service/submit.service.ts @@ -86,6 +86,11 @@ export const submitRelayMessagesToL2MockMessenger = async ( continue; } + // if non decode event, we will skip this revert + if (!config.MOCK_L1_SENDER_EVENT_DECODE_ENABLED) { + return; + } + throw error; } }