
diff --git a/src/constants.ts b/src/constants.ts
index ca4bd6d..46a99da 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -1,3 +1,4 @@
+import { defineChain } from "viem";
import {
bsc,
base,
@@ -20,6 +21,25 @@ import {
} from "viem/chains";
import type { SupportedChainId } from "./types";
+// Robinhood Chain is not exported from viem/chains, so we define it locally.
+export const robinhoodChain = defineChain({
+ id: 4663,
+ name: "Robinhood Chain",
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
+ rpcUrls: {
+ default: { http: ["https://rpc.chain.robinhood.com"] },
+ },
+ blockExplorers: {
+ default: {
+ name: "Blockscout",
+ url: "https://robinhoodchain.blockscout.com",
+ },
+ },
+ contracts: {
+ multicall3: { address: "0xca11bde05977b3631167028862be2a173976ca11" },
+ },
+});
+
export const FORWARDING_MULTICALL_ABI = [
{
@@ -134,6 +154,7 @@ export const SUPPORTED_CHAINS = [
worldchain,
monad,
abstract,
+ robinhoodChain,
];
export const NATIVE_SYMBOL_BY_CHAIN_ID: { [key in SupportedChainId]: string } =
@@ -156,6 +177,7 @@ export const NATIVE_SYMBOL_BY_CHAIN_ID: { [key in SupportedChainId]: string } =
[berachain.id]: berachain.nativeCurrency.symbol,
[worldchain.id]: worldchain.nativeCurrency.symbol,
[abstract.id]: abstract.nativeCurrency.symbol,
+ [robinhoodChain.id]: robinhoodChain.nativeCurrency.symbol,
};
export const NATIVE_TOKEN_ADDRESS = `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE`;
diff --git a/src/types.ts b/src/types.ts
index b17a26d..023051f 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -18,6 +18,7 @@ import {
monad,
abstract,
} from "viem/chains";
+import { robinhoodChain } from "./constants";
import type {
Hex,
@@ -47,7 +48,8 @@ export type SupportedChainId =
| typeof avalanche.id
| typeof berachain.id
| typeof worldchain.id
- | typeof abstract.id;
+ | typeof abstract.id
+ | typeof robinhoodChain.id;
export interface EnrichLogsArgs {
transactionReceipt: TransactionReceipt;
diff --git a/src/utils/index.ts b/src/utils/index.ts
index a058fcd..6475e67 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -19,7 +19,11 @@ import {
monad,
abstract,
} from "viem/chains";
-import { NATIVE_SYMBOL_BY_CHAIN_ID, NATIVE_TOKEN_ADDRESS } from "../constants";
+import {
+ NATIVE_SYMBOL_BY_CHAIN_ID,
+ NATIVE_TOKEN_ADDRESS,
+ robinhoodChain,
+} from "../constants";
import type { Address } from "viem";
import type {
Trace,
@@ -50,6 +54,7 @@ export function isChainIdSupported(
berachain.id,
worldchain.id,
abstract.id,
+ robinhoodChain.id,
];
return supportedChainIds.includes(chainId);
}