From a4e8bf108703105d742d5da6e72ef1b1f4f4d4af Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 26 Aug 2025 08:37:51 +0000 Subject: [PATCH 1/9] chore: Drop Aleph Zero definitions & handling --- src/adapter/bridges/ArbitrumOrbitBridge.ts | 2 -- src/clients/ProfitClient.ts | 1 - src/common/Constants.ts | 18 --------------- src/common/ContractAddresses.ts | 21 ----------------- src/dataworker/Dataworker.ts | 26 ++++++---------------- src/finalizer/index.ts | 4 ---- src/finalizer/utils/arbStack.ts | 24 +------------------- 7 files changed, 8 insertions(+), 88 deletions(-) diff --git a/src/adapter/bridges/ArbitrumOrbitBridge.ts b/src/adapter/bridges/ArbitrumOrbitBridge.ts index 8d60b7edb7..87aa451e4e 100644 --- a/src/adapter/bridges/ArbitrumOrbitBridge.ts +++ b/src/adapter/bridges/ArbitrumOrbitBridge.ts @@ -23,14 +23,12 @@ import ARBITRUM_ERC20_GATEWAY_L2_ABI from "../../common/abi/ArbitrumErc20Gateway const bridgeSubmitValue: { [chainId: number]: BigNumber } = { [CHAIN_IDs.ARBITRUM]: toWei(0.013), - [CHAIN_IDs.ALEPH_ZERO]: toWei(0.45), // Testnet [CHAIN_IDs.ARBITRUM_SEPOLIA]: toWei(0.013), }; const maxFeePerGas: { [chainId: number]: BigNumber } = { [CHAIN_IDs.ARBITRUM]: toBN(20e9), - [CHAIN_IDs.ALEPH_ZERO]: toBN(24e10), // Testnet [CHAIN_IDs.ARBITRUM_SEPOLIA]: toBN(20e9), }; diff --git a/src/clients/ProfitClient.ts b/src/clients/ProfitClient.ts index 028df9786c..3440e05918 100644 --- a/src/clients/ProfitClient.ts +++ b/src/clients/ProfitClient.ts @@ -664,7 +664,6 @@ export class ProfitClient { // The relayer _cannot_ be the recipient because the SpokePool skips the ERC20 transfer. Instead, use // the main RL address because it has all supported tokens and approvals in place on all chains. const testSymbols = { - [CHAIN_IDs.ALEPH_ZERO]: "USDT", // USDC is not yet supported on AlephZero, so revert to USDT. @todo: Update. [CHAIN_IDs.BLAST]: "USDB", [CHAIN_IDs.INK]: "WETH", // USDC deferred on Ink. [CHAIN_IDs.LENS]: "WETH", // USDC not yet supported. diff --git a/src/common/Constants.ts b/src/common/Constants.ts index ce1fa67d92..bdfa2c59d7 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -135,7 +135,6 @@ export const REDIS_URL_DEFAULT = "redis://localhost:6379"; // if the RPC provider allows it. This is why the user should override these lookbacks if they are not using // Quicknode for example. export const CHAIN_MAX_BLOCK_LOOKBACK = { - [CHAIN_IDs.ALEPH_ZERO]: 10000, [CHAIN_IDs.ARBITRUM]: 10000, [CHAIN_IDs.BASE]: 10000, [CHAIN_IDs.BLAST]: 10000, @@ -177,7 +176,6 @@ export const CHAIN_MAX_BLOCK_LOOKBACK = { // can be matched with a deposit on the origin chain, so something like // ~1-2 mins per chain. export const BUNDLE_END_BLOCK_BUFFERS = { - [CHAIN_IDs.ALEPH_ZERO]: 240, // Same as Arbitrum [CHAIN_IDs.ARBITRUM]: 240, // ~0.25s/block. Arbitrum is a centralized sequencer [CHAIN_IDs.BASE]: 60, // 2s/block. Same finality profile as Optimism [CHAIN_IDs.BLAST]: 60, @@ -233,7 +231,6 @@ export const IGNORED_HUB_EXECUTED_BUNDLES: number[] = []; // Provider caching will not be allowed for queries whose responses depend on blocks closer than this many blocks. // This is intended to be conservative. export const CHAIN_CACHE_FOLLOW_DISTANCE: { [chainId: number]: number } = { - [CHAIN_IDs.ALEPH_ZERO]: 60, [CHAIN_IDs.ARBITRUM]: 32, [CHAIN_IDs.BASE]: 120, [CHAIN_IDs.BLAST]: 120, @@ -274,7 +271,6 @@ export const CHAIN_CACHE_FOLLOW_DISTANCE: { [chainId: number]: number } = { // These are all intended to be roughly 2 days of blocks for each chain. // blocks = 172800 / avg_block_time export const DEFAULT_NO_TTL_DISTANCE: { [chainId: number]: number } = { - [CHAIN_IDs.ALEPH_ZERO]: 691200, [CHAIN_IDs.ARBITRUM]: 691200, [CHAIN_IDs.BASE]: 86400, [CHAIN_IDs.BLAST]: 86400, @@ -340,7 +336,6 @@ export const spokesThatHoldNativeTokens = [ // A mapping of L2 chain IDs to an array of tokens Across supports on that chain. export const SUPPORTED_TOKENS: { [chainId: number]: string[] } = { - [CHAIN_IDs.ALEPH_ZERO]: ["USDT", "WETH"], [CHAIN_IDs.ARBITRUM]: ["USDC", "USDT", "WETH", "DAI", "WBTC", "UMA", "BAL", "ACX", "POOL", "ezETH"], [CHAIN_IDs.BASE]: ["BAL", "DAI", "ETH", "WETH", "USDC", "USDT", "POOL", "VLR", "ezETH"], [CHAIN_IDs.BLAST]: ["DAI", "WBTC", "WETH", "ezETH"], @@ -417,7 +412,6 @@ type L1BridgeConstructor = new ( // Map of chain IDs to all "canonical bridges" for the given chain. Canonical is loosely defined -- in this // case, it is the default bridge for the given chain. export const CANONICAL_BRIDGE: Record> = { - [CHAIN_IDs.ALEPH_ZERO]: ArbitrumOrbitBridge, [CHAIN_IDs.ARBITRUM]: ArbitrumOrbitBridge, [CHAIN_IDs.BASE]: OpStackDefaultERC20Bridge, [CHAIN_IDs.BLAST]: OpStackDefaultERC20Bridge, @@ -462,7 +456,6 @@ export const CANONICAL_L2_BRIDGE: { ): BaseL2BridgeAdapter; }; } = { - [CHAIN_IDs.ALEPH_ZERO]: L2ArbitrumOrbitBridge, [CHAIN_IDs.BSC]: L2BinanceCEXBridge, [CHAIN_IDs.LISK]: L2OpStackBridge, [CHAIN_IDs.REDSTONE]: L2OpStackBridge, @@ -689,10 +682,6 @@ export const CUSTOM_ARBITRUM_GATEWAYS: { [chainId: number]: { [address: string]: // The default ERC20 gateway is the generic gateway used by Arbitrum Orbit chains to mint tokens which do not have a custom gateway set. export const DEFAULT_ARBITRUM_GATEWAY: { [chainId: number]: { l1: string; l2: string } } = { - [CHAIN_IDs.ALEPH_ZERO]: { - l1: "0xccaF21F002EAF230c9Fa810B34837a3739B70F7B", - l2: "0x2A5a79061b723BBF453ef7E07c583C750AFb9BD6", - }, [CHAIN_IDs.ARBITRUM]: { l1: "0xa3A7B6F88361F48403514059F1F16C8E78d60EeC", l2: "0x09e9222E96E7B4AE2a407B98d48e330053351EEe", @@ -719,7 +708,6 @@ export const SCROLL_CUSTOM_GATEWAY: { [chainId: number]: { l1: string; l2: strin // Expected worst-case time for message from L1 to propagate to L2 in seconds export const EXPECTED_L1_TO_L2_MESSAGE_TIME = { - [CHAIN_IDs.ALEPH_ZERO]: 20 * 60, [CHAIN_IDs.ARBITRUM]: 20 * 60, [CHAIN_IDs.BASE]: 20 * 60, [CHAIN_IDs.BLAST]: 20 * 60, @@ -923,12 +911,6 @@ export const ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA: { amountWei: 0.02, amountMultipleToFund: 1, }, - [CHAIN_IDs.ALEPH_ZERO]: { - amountWei: 0.49, - amountMultipleToFund: 50, - feePayer: "0x0d57392895Db5aF3280e9223323e20F3951E81B1", // DonationBox - feeToken: TOKEN_SYMBOLS_MAP.AZERO.addresses[CHAIN_IDs.MAINNET], - }, }; // source: https://github.com/hyperlane-xyz/hyperlane-registry/blob/346b18c4314cf96b41ae2da781f58fb832dbe1f8/deployments/warp_routes/EZETH/arbitrum-base-berachain-blast-bsc-ethereum-fraxtal-linea-mode-optimism-sei-swell-taiko-unichain-worldchain-zircuit-config.yaml diff --git a/src/common/ContractAddresses.ts b/src/common/ContractAddresses.ts index 73c50de9a2..dcc4ed76d3 100644 --- a/src/common/ContractAddresses.ts +++ b/src/common/ContractAddresses.ts @@ -162,10 +162,6 @@ export const CONTRACT_ADDRESSES: { address: "0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840", abi: ARBITRUM_OUTBOX_ABI, }, - orbitOutbox_41455: { - address: "0x73bb50c32a3BD6A1032aa5cFeA048fBDA3D6aF6e", - abi: ARBITRUM_OUTBOX_ABI, - }, orbitErc20GatewayRouter_42161: { address: "0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef", abi: ARBITRUM_ERC20_GATEWAY_ROUTER_L1_ABI, @@ -173,13 +169,6 @@ export const CONTRACT_ADDRESSES: { orbitErc20Gateway_42161: { abi: ARBITRUM_ERC20_GATEWAY_L1_ABI, }, - orbitErc20GatewayRouter_41455: { - address: "0xeBb17f398ed30d02F2e8733e7c1e5cf566e17812", - abi: ARBITRUM_ERC20_GATEWAY_ROUTER_L1_ABI, - }, - orbitErc20Gateway_41455: { - abi: ARBITRUM_ERC20_GATEWAY_L1_ABI, - }, VotingV2: { address: "0x004395edb43EFca9885CEdad51EC9fAf93Bd34ac", abi: VOTING_V2_ABI, @@ -446,16 +435,6 @@ export const CONTRACT_ADDRESSES: { abi: ARBITRUM_ERC20_GATEWAY_ROUTER_L2_ABI, }, }, - [CHAIN_IDs.ALEPH_ZERO]: { - erc20GatewayRouter: { - address: "0xD296d45171B97720D3aBdb68B0232be01F1A9216", - abi: ARBITRUM_ERC20_GATEWAY_ROUTER_L2_ABI, - }, - arbSys: { - address: "0x0000000000000000000000000000000000000064", - abi: ARBSYS_L2_ABI, - }, - }, [CHAIN_IDs.LENS]: { nativeTokenVault: { address: "0x0000000000000000000000000000000000010004", diff --git a/src/dataworker/Dataworker.ts b/src/dataworker/Dataworker.ts index d5cbe977a8..c7a1d53565 100644 --- a/src/dataworker/Dataworker.ts +++ b/src/dataworker/Dataworker.ts @@ -2655,25 +2655,13 @@ export class Dataworker { let relayMessageFee: BigNumber; let token: string; let holder: string; - if (leaf.chainId === CHAIN_IDs.ALEPH_ZERO) { - // Unlike when handling native ETH, the monitor bot does NOT support sending arbitrary ERC20 tokens to any other - // EOA, so if we're short a custom gas token like AZERO, then we're going to have to keep sending over token - // amounts to the DonationBox contract. Therefore, we'll multiply the final amount by 10 to ensure we don't incur - // a transfer() gas cost on every single pool rebalance leaf execution involving this arbitrum orbit chain. - const { amountWei, feePayer, feeToken, amountMultipleToFund } = - ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[CHAIN_IDs.ALEPH_ZERO]; - relayMessageFee = toBNWei(amountWei).mul(amountMultipleToFund); - token = feeToken; - holder = feePayer; - } else { - // For now, assume arbitrum message fees are the same for all non-custom gas token chains. This obviously needs - // to be changed if we add support for an orbit chains where we pay message fees in ETH but they are different - // parameters than for Arbitrum mainnet. - const { amountWei, amountMultipleToFund } = ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[CHAIN_IDs.ARBITRUM]; - relayMessageFee = toBNWei(amountWei).mul(amountMultipleToFund); - token = ZERO_ADDRESS; - holder = this.clients.hubPoolClient.hubPool.address; - } + // For now, assume arbitrum message fees are the same for all non-custom gas token chains. This obviously needs + // to be changed if we add support for an orbit chains where we pay message fees in ETH but they are different + // parameters than for Arbitrum mainnet. + const { amountWei, amountMultipleToFund } = ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[CHAIN_IDs.ARBITRUM]; + relayMessageFee = toBNWei(amountWei).mul(amountMultipleToFund); + token = ZERO_ADDRESS; + holder = this.clients.hubPoolClient.hubPool.address; // For orbit chains, the bot needs enough ETH to pay for each L1 -> L2 message. // The following executions trigger an L1 -> L2 message: diff --git a/src/finalizer/index.ts b/src/finalizer/index.ts index 48a50b19ac..96572f196e 100644 --- a/src/finalizer/index.ts +++ b/src/finalizer/index.ts @@ -86,10 +86,6 @@ const chainFinalizers: { [chainId: number]: { finalizeOnL2: ChainFinalizer[]; fi finalizeOnL1: [opStackFinalizer, cctpL2toL1Finalizer], finalizeOnL2: [cctpL1toL2Finalizer], }, - [CHAIN_IDs.ALEPH_ZERO]: { - finalizeOnL1: [arbStackFinalizer], - finalizeOnL2: [], - }, [CHAIN_IDs.ARBITRUM]: { finalizeOnL1: [arbStackFinalizer, cctpL2toL1Finalizer], finalizeOnL2: [cctpL1toL2Finalizer], diff --git a/src/finalizer/utils/arbStack.ts b/src/finalizer/utils/arbStack.ts index 3982d29b05..1c5837ad62 100644 --- a/src/finalizer/utils/arbStack.ts +++ b/src/finalizer/utils/arbStack.ts @@ -46,29 +46,7 @@ type PartialArbitrumNetwork = Omit & { }; // These network configs are defined in the Arbitrum SDK, and we need to register them in the SDK's memory. // We should export this out of a common file but we don't use this SDK elsewhere currentlyl. -const ARB_ORBIT_NETWORK_CONFIGS: PartialArbitrumNetwork[] = [ - { - // Addresses are available here: - // https://raas.gelato.network/rollups/details/public/aleph-zero-evm - chainId: CHAIN_IDs.ALEPH_ZERO, - name: "Aleph Zero", - parentChainId: CHAIN_IDs.MAINNET, - ethBridge: { - bridge: "0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9", - inbox: "0x56D8EC76a421063e1907503aDd3794c395256AEb ", - sequencerInbox: "0xF75206c49c1694594E3e69252E519434f1579876", - outbox: CONTRACT_ADDRESSES[CHAIN_IDs.MAINNET][`orbitOutbox_${CHAIN_IDs.ALEPH_ZERO}`].address, - rollup: "0x1CA12290D954CFe022323b6A6Df92113ed6b1C98", - }, - challengePeriodSeconds: 6 * 60 * 60, // ~ 6 hours - retryableLifetimeSeconds: 7 * 24 * 60 * 60, - nativeToken: TOKEN_SYMBOLS_MAP.AZERO.addresses[CHAIN_IDs.MAINNET], - isTestnet: false, - registered: false, - // Must be set to true for L3's - isCustom: true, - }, -]; +const ARB_ORBIT_NETWORK_CONFIGS: PartialArbitrumNetwork[] = []; function getOrbitNetwork(chainId: number): PartialArbitrumNetwork | undefined { return ARB_ORBIT_NETWORK_CONFIGS.find((network) => network.chainId === chainId); From d1c952a40571bbe27431fcb0385e8889c6316ef9 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 26 Aug 2025 08:41:01 +0000 Subject: [PATCH 2/9] update --- src/dataworker/Dataworker.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/dataworker/Dataworker.ts b/src/dataworker/Dataworker.ts index c7a1d53565..dfee58f4c2 100644 --- a/src/dataworker/Dataworker.ts +++ b/src/dataworker/Dataworker.ts @@ -2651,17 +2651,13 @@ export class Dataworker { token: EvmAddress; holder: EvmAddress; }> { - // TODO: Make this code more dynamic in the future. For now, hard code custom gas token fees. - let relayMessageFee: BigNumber; - let token: string; - let holder: string; // For now, assume arbitrum message fees are the same for all non-custom gas token chains. This obviously needs // to be changed if we add support for an orbit chains where we pay message fees in ETH but they are different // parameters than for Arbitrum mainnet. - const { amountWei, amountMultipleToFund } = ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[CHAIN_IDs.ARBITRUM]; - relayMessageFee = toBNWei(amountWei).mul(amountMultipleToFund); - token = ZERO_ADDRESS; - holder = this.clients.hubPoolClient.hubPool.address; + const { amountWei, amountMultipleToFund } = ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[leaf.chainId]; + const relayMessageFee = toBNWei(amountWei).mul(amountMultipleToFund); + const token = ZERO_ADDRESS; + const holder = this.clients.hubPoolClient.hubPool.address; // For orbit chains, the bot needs enough ETH to pay for each L1 -> L2 message. // The following executions trigger an L1 -> L2 message: From 714ce2290597ff4c985786e5eae7c9fe84d8e683 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 26 Aug 2025 08:58:06 +0000 Subject: [PATCH 3/9] Drop Aleph Zero tests --- test/Dataworker.executePoolRebalanceUtils.ts | 106 ------------------- 1 file changed, 106 deletions(-) diff --git a/test/Dataworker.executePoolRebalanceUtils.ts b/test/Dataworker.executePoolRebalanceUtils.ts index 709b4aafdf..ca21a8d6ac 100644 --- a/test/Dataworker.executePoolRebalanceUtils.ts +++ b/test/Dataworker.executePoolRebalanceUtils.ts @@ -723,112 +723,6 @@ describe("Dataworker: Utilities to execute pool rebalance leaves", async functio expect(queuedTransactions[2].method).to.equal("executeRootBundle"); expect(queuedTransactions[3].method).to.equal("executeRootBundle"); }); - it("funds custom gas token orbit leaf", async function () { - // Replicate custom gas token setups: - const azero = await smock.fake(ERC20.abi, { - address: TOKEN_SYMBOLS_MAP.AZERO.addresses[CHAIN_IDs.MAINNET], - provider: hubPoolClient.hubPool.signer.provider, - }); - // Custom gas token funder for AZERO - const { amountWei, amountMultipleToFund, feePayer } = ARBITRUM_ORBIT_L1L2_MESSAGE_FEE_DATA[CHAIN_IDs.ALEPH_ZERO]; - assert(feePayer !== undefined); - const customGasTokenFunder = feePayer; - azero.balanceOf.whenCalledWith(customGasTokenFunder).returns(0); - expect( - await balanceAllocator.getBalance( - hubPoolClient.chainId, - EvmAddress.from(azero.address), - EvmAddress.from(customGasTokenFunder) - ) - ).to.equal(0); - - // Adds one fee per net send amount + one extra if groupIndex = 0 - const leaves: PoolRebalanceLeaf[] = [ - { - chainId: 41455, - groupIndex: 0, - bundleLpFees: [toBNWei("1"), toBNWei("1")], - netSendAmounts: [toBNWei("1"), toBNWei("1")], - runningBalances: [toBNWei("1"), toBNWei("1")], - leafId: 0, - l1Tokens: [token1, token2], - }, - { - chainId: 41455, - groupIndex: 1, - bundleLpFees: [toBNWei("1"), toBNWei("1")], - netSendAmounts: [toBNWei("1"), toBNWei("1")], - runningBalances: [toBNWei("1"), toBNWei("1")], - leafId: 0, - l1Tokens: [token1, token2], - }, - ]; - // Should have a total of 2 + 1 + 2 = 5 fees. - const expectedFee = toBNWei(amountWei).mul(amountMultipleToFund); - const expectedFeeLeaf1 = expectedFee.mul(2).add(expectedFee); - const expectedFeeLeaf2 = expectedFee.mul(2); - azero.balanceOf - .whenCalledWith(await hubPoolClient.hubPool.signer.getAddress()) - .returns(expectedFeeLeaf1.add(expectedFeeLeaf2)); - const result = await dataworkerInstance._executePoolRebalanceLeaves( - spokePoolClients, - leaves, - balanceAllocator, - buildPoolRebalanceLeafTree(leaves) - ); - expect(result).to.equal(2); - - // Should submit two transactions to load ETH for each leaf plus pool rebalance leaf execution. - expect(multiCallerClient.transactionCount()).to.equal(4); - const queuedTransactions = multiCallerClient.getQueuedTransactions(hubPoolClient.chainId); - expect(queuedTransactions[0].method).to.equal("transfer"); - expect(queuedTransactions[0].args).to.deep.equal([customGasTokenFunder, expectedFeeLeaf1]); - expect(queuedTransactions[1].method).to.equal("transfer"); - expect(queuedTransactions[1].args).to.deep.equal([customGasTokenFunder, expectedFeeLeaf2]); - expect(queuedTransactions[2].method).to.equal("executeRootBundle"); - expect(queuedTransactions[3].method).to.equal("executeRootBundle"); - }); - it("fails to fund custom gas token orbit leaf", async function () { - // Replicate custom gas token setups, but this time do not set a balance for the custom gas token funder. - const azero = await smock.fake(ERC20.abi, { - address: TOKEN_SYMBOLS_MAP.AZERO.addresses[CHAIN_IDs.MAINNET], - provider: hubPoolClient.hubPool.signer.provider, - }); - // Custom gas token funder for AZERO - const customGasTokenFunder = "0x0d57392895Db5aF3280e9223323e20F3951E81B1"; - azero.balanceOf.whenCalledWith(customGasTokenFunder).returns(0); - expect( - await balanceAllocator.getBalance( - hubPoolClient.chainId, - EvmAddress.from(azero.address), - EvmAddress.from(customGasTokenFunder) - ) - ).to.equal(0); - - // Adds one fee per net send amount + one extra if groupIndex = 0 - const leaves: PoolRebalanceLeaf[] = [ - { - chainId: 41455, - groupIndex: 0, - bundleLpFees: [toBNWei("1"), toBNWei("1")], - netSendAmounts: [toBNWei("1"), toBNWei("1")], - runningBalances: [toBNWei("1"), toBNWei("1")], - leafId: 0, - l1Tokens: [token1, token2], - }, - ]; - // Should throw an error if caller doesn't have enough custom gas token to fund - // DonationBox. - const result = await dataworkerInstance._executePoolRebalanceLeaves( - spokePoolClients, - leaves, - balanceAllocator, - buildPoolRebalanceLeafTree(leaves) - ); - expect(result).to.equal(0); - expect(lastSpyLogLevel(spy)).to.equal("error"); - expect(lastSpyLogIncludes(spy, "Failed to fund")).to.be.true; - }); it("Ignores leaves without sufficient reserves to execute", async function () { // Should only be able to execute the first leaf balanceAllocator.testSetBalance( From e4eee79f89cfcf34c0930fd3e55b61f78ad6d461 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 26 Aug 2025 09:28:08 +0000 Subject: [PATCH 4/9] fix test --- src/common/Constants.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/common/Constants.ts b/src/common/Constants.ts index bdfa2c59d7..761415242f 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -41,7 +41,6 @@ import { BaseL2BridgeAdapter, OpStackUSDCBridge as L2OpStackUSDCBridge, OpStackWethBridge as L2OpStackWethBridge, - ArbitrumOrbitBridge as L2ArbitrumOrbitBridge, OpStackBridge as L2OpStackBridge, BinanceCEXBridge as L2BinanceCEXBridge, UsdcCCTPBridge as L2UsdcCCTPBridge, From f06eff1b9a70502739bb512e0b36d9e5b62661c6 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 26 Aug 2025 09:42:54 +0000 Subject: [PATCH 5/9] lint --- test/Dataworker.executePoolRebalanceUtils.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/Dataworker.executePoolRebalanceUtils.ts b/test/Dataworker.executePoolRebalanceUtils.ts index ca21a8d6ac..0798c2fb52 100644 --- a/test/Dataworker.executePoolRebalanceUtils.ts +++ b/test/Dataworker.executePoolRebalanceUtils.ts @@ -4,11 +4,9 @@ import { bnZero, buildPoolRebalanceLeafTree, CHAIN_IDs, - ERC20, EvmAddress, getCurrentTime, toBNWei, - TOKEN_SYMBOLS_MAP, toAddressType, } from "../src/utils"; import { MAX_L1_TOKENS_PER_POOL_REBALANCE_LEAF, MAX_REFUNDS_PER_RELAYER_REFUND_LEAF, ZERO_ADDRESS } from "./constants"; @@ -22,7 +20,6 @@ import { sinon, randomAddress, lastSpyLogIncludes, - assert, lastSpyLogLevel, } from "./utils"; From ea1679255f94a2b213fd544c7ae2658433f1d76a Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 16 Sep 2025 22:45:38 +0200 Subject: [PATCH 6/9] Update src/common/Constants.ts Co-authored-by: bmzig <57361391+bmzig@users.noreply.github.com> --- src/common/Constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/common/Constants.ts b/src/common/Constants.ts index 76afc6cbc4..6f8751a044 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -180,6 +180,7 @@ export const CHAIN_MAX_BLOCK_LOOKBACK = { // can be matched with a deposit on the origin chain, so something like // ~1-2 mins per chain. export const BUNDLE_END_BLOCK_BUFFERS = { + [CHAIN_IDs.ALEPH_ZERO]: 0, [CHAIN_IDs.ARBITRUM]: 240, // ~0.25s/block. Arbitrum is a centralized sequencer [CHAIN_IDs.BASE]: 60, // 2s/block. Same finality profile as Optimism [CHAIN_IDs.BLAST]: 60, From 5a575e91cd17979f66d7e4307755d71b12661331 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 16 Sep 2025 22:46:03 +0200 Subject: [PATCH 7/9] Update src/common/Constants.ts --- src/common/Constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Constants.ts b/src/common/Constants.ts index 6f8751a044..5d727f93ab 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -180,7 +180,7 @@ export const CHAIN_MAX_BLOCK_LOOKBACK = { // can be matched with a deposit on the origin chain, so something like // ~1-2 mins per chain. export const BUNDLE_END_BLOCK_BUFFERS = { - [CHAIN_IDs.ALEPH_ZERO]: 0, + [CHAIN_IDs.ALEPH_ZERO]: 0, // Chain is disabled. [CHAIN_IDs.ARBITRUM]: 240, // ~0.25s/block. Arbitrum is a centralized sequencer [CHAIN_IDs.BASE]: 60, // 2s/block. Same finality profile as Optimism [CHAIN_IDs.BLAST]: 60, From 51c542ee4e31681edfc1158e1ee4b59a3be9c0ca Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 16 Sep 2025 20:46:34 +0000 Subject: [PATCH 8/9] fix --- src/common/Config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Config.ts b/src/common/Config.ts index 5b96b6e752..bbfa83a858 100644 --- a/src/common/Config.ts +++ b/src/common/Config.ts @@ -104,7 +104,7 @@ export class CommonConfig { const missing = chainIds.find((chainId) => !lookbackKeys.includes(chainId)); if (missing) { const message = `Missing MAX_BLOCK_LOOK_BACK configuration for chainId ${missing}`; - logger.warn({ at: "RelayerConfig::validate", message }); + logger.warn({ at: "Config::validate", message }); this.maxBlockLookBack[missing] = 5000; // Revert to a safe default. } } From efc6e23a1ebffcb47184a5c2b88fb9971dc7be6b Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 16 Sep 2025 20:49:15 +0000 Subject: [PATCH 9/9] reinstate --- src/common/Constants.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/Constants.ts b/src/common/Constants.ts index 5d727f93ab..e81c10e766 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -136,10 +136,11 @@ export const REDIS_URL_DEFAULT = "redis://localhost:6379"; // if the RPC provider allows it. This is why the user should override these lookbacks if they are not using // Quicknode for example. export const CHAIN_MAX_BLOCK_LOOKBACK = { + [CHAIN_IDs.ALEPH_ZERO]: 0, // Disabled [CHAIN_IDs.ARBITRUM]: 10000, [CHAIN_IDs.BASE]: 10000, [CHAIN_IDs.BLAST]: 10000, - [CHAIN_IDs.BOBA]: 4990, + [CHAIN_IDs.BOBA]: 0, // Disabled [CHAIN_IDs.BSC]: 10000, [CHAIN_IDs.HYPEREVM]: 1000, [CHAIN_IDs.INK]: 10000,