diff --git a/apps/fallback/src/lib/wagmi-config.ts b/apps/fallback/src/lib/wagmi-config.ts
index 5ecd88a..66ed97d 100644
--- a/apps/fallback/src/lib/wagmi-config.ts
+++ b/apps/fallback/src/lib/wagmi-config.ts
@@ -17,7 +17,6 @@ import {
celo,
corn,
etherlink,
- flame,
fraxtal,
hemi,
ink,
@@ -72,13 +71,13 @@ const chains = [
customChains.hyperevm,
optimism,
customChains.monad,
+ customChains.stable,
// fallback support (alphabetical)
abstract,
bsc,
celo,
corn,
etherlink,
- flame,
fraxtal,
hemi,
ink,
@@ -199,7 +198,6 @@ const transports: Record<(typeof chains)[number]["id"], Transport> = {
]),
[customChains.monad.id]: createFallbackTransport([...createPonderHttp(customChains.monad.id)]),
[hemi.id]: createFallbackTransport([{ url: "https://rpc.hemi.network/rpc", batch: false }]),
- [flame.id]: createFallbackTransport(flame.rpcUrls.default.http.map((url) => ({ url, batch: false }))),
[lisk.id]: createFallbackTransport([
{ url: "https://lisk.gateway.tenderly.co", batch: { batchSize: 10 } },
...lisk.rpcUrls.default.http.map((url) => ({ url, batch: false })),
@@ -218,6 +216,10 @@ const transports: Record<(typeof chains)[number]["id"], Transport> = {
...createPonderHttp(customChains.tac.id),
...customChains.tac.rpcUrls.default.http.map((url) => ({ url, batch: false })),
]),
+ [customChains.stable.id]: createFallbackTransport([
+ ...createPonderHttp(customChains.stable.id),
+ ...customChains.stable.rpcUrls.default.http.map((url) => ({ url, batch: false })),
+ ]),
// [customChains.basecamp.id]: createFallbackTransport(
// customChains.basecamp.rpcUrls.default.http.map((url) => ({ url, batch: false })),
// ),
diff --git a/packages/uikit/src/assets/chains/stable.svg b/packages/uikit/src/assets/chains/stable.svg
new file mode 100644
index 0000000..ee1581f
--- /dev/null
+++ b/packages/uikit/src/assets/chains/stable.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/uikit/src/components/chain-icon.tsx b/packages/uikit/src/components/chain-icon.tsx
index 500cf81..f682bc8 100644
--- a/packages/uikit/src/components/chain-icon.tsx
+++ b/packages/uikit/src/components/chain-icon.tsx
@@ -54,6 +54,7 @@ import ScrollSvg from "@/assets/chains/scroll.svg?react";
import SeiSvg from "@/assets/chains/sei.svg?react";
import SoneiumSvg from "@/assets/chains/soneium.svg?react";
import SonicSvg from "@/assets/chains/sonic.svg?react";
+import StableSvg from "@/assets/chains/stable.svg?react";
import TacSvg from "@/assets/chains/tac.svg?react";
import UnichainSvg from "@/assets/chains/unichain.svg?react";
import WorldchainSvg from "@/assets/chains/worldchain.svg?react";
@@ -114,6 +115,8 @@ export function ChainIcon({ id }: { id: number | undefined }): JSX.Element {
return ;
case sonic.id:
return ;
+ case customChains.stable.id:
+ return ;
case customChains.tac.id:
return ;
case unichain.id:
diff --git a/packages/uikit/src/lib/chains/index.ts b/packages/uikit/src/lib/chains/index.ts
index 923b699..89237ff 100644
--- a/packages/uikit/src/lib/chains/index.ts
+++ b/packages/uikit/src/lib/chains/index.ts
@@ -2,4 +2,5 @@ export { basecamp } from "./camp";
export { hyperevm } from "./hyperevm";
export { katana } from "./katana";
export { monad } from "./monad";
+export { stable } from "./stable";
export { tac } from "./tac";
diff --git a/packages/uikit/src/lib/chains/stable.ts b/packages/uikit/src/lib/chains/stable.ts
new file mode 100644
index 0000000..679b049
--- /dev/null
+++ b/packages/uikit/src/lib/chains/stable.ts
@@ -0,0 +1,29 @@
+import { defineChain } from "viem";
+
+export const stable = defineChain({
+ id: 988,
+ name: "Stable Mainnet",
+ network: "stable",
+ nativeCurrency: {
+ symbol: "gUSDT",
+ name: "gasUSDT",
+ decimals: 18,
+ },
+ rpcUrls: {
+ default: {
+ http: ["https://rpc.stable.xyz"],
+ },
+ },
+ blockExplorers: {
+ default: {
+ name: "Stable Explorer",
+ url: "https://explorer.stable.xyz/",
+ },
+ },
+ contracts: {
+ multicall3: {
+ address: "0xcA11bde05977b3631167028862bE2a173976CA11",
+ blockCreated: 2423647,
+ },
+ },
+});
diff --git a/packages/uikit/src/lib/deployments.ts b/packages/uikit/src/lib/deployments.ts
index 0dd67f8..a960a72 100644
--- a/packages/uikit/src/lib/deployments.ts
+++ b/packages/uikit/src/lib/deployments.ts
@@ -165,6 +165,10 @@ export const DEPLOYMENTS: Deployments = {
Morpho: { address: "0xD5D960E8C380B724a48AC59E2DfF1b2CB4a1eAee", fromBlock: 31907457n },
MetaMorphoV1_1Factory: { address: "0x33f20973275B2F574488b18929cd7DCBf1AbF275", fromBlock: 32320327n },
},
+ [customChains.stable.id]: {
+ Morpho: { address: "0xa40103088A899514E3fe474cD3cc5bf811b1102e", fromBlock: 1504506n },
+ MetaMorphoV1_1Factory: { address: "0xb4ae5673c48621189E2bEfBA96F31912032DD1AE", fromBlock: 1504774n },
+ },
};
export const CORE_DEPLOYMENTS = new Set([
@@ -177,6 +181,7 @@ export const CORE_DEPLOYMENTS = new Set([
customChains.hyperevm.id,
optimism.id,
customChains.monad.id,
+ customChains.stable.id,
]);
export function getContractDeploymentInfo(chainId: number, name: OptionalContracts): DeploymentDetails | undefined;