From 04630fd168ca94103a543842d36ba0127f962aaa Mon Sep 17 00:00:00 2001
From: Paul <108695806+pxrl@users.noreply.github.com>
Date: Sat, 21 Dec 2024 12:57:46 +0100
Subject: [PATCH] feat: add Aleph Zero (#3150)

* feat: Add Aleph Zero

* lint

* add changeset

* Update weak-candles-think.md

---------

Co-authored-by: jxom <7336481+jxom@users.noreply.github.com>
---
 .changeset/weak-candles-think.md    |  5 +++++
 src/chains/definitions/alephZero.ts | 25 +++++++++++++++++++++++++
 src/chains/index.ts                 |  1 +
 3 files changed, 31 insertions(+)
 create mode 100644 .changeset/weak-candles-think.md
 create mode 100644 src/chains/definitions/alephZero.ts

diff --git a/.changeset/weak-candles-think.md b/.changeset/weak-candles-think.md
new file mode 100644
index 0000000000..2866e09c81
--- /dev/null
+++ b/.changeset/weak-candles-think.md
@@ -0,0 +1,5 @@
+---
+"viem": patch
+---
+
+Added Aleph Zero chain.
diff --git a/src/chains/definitions/alephZero.ts b/src/chains/definitions/alephZero.ts
new file mode 100644
index 0000000000..52ce4135a2
--- /dev/null
+++ b/src/chains/definitions/alephZero.ts
@@ -0,0 +1,25 @@
+import { defineChain } from '../../utils/chain/defineChain.js'
+
+export const alephZero = /*#__PURE__*/ defineChain({
+  id: 41_455,
+  name: 'Aleph Zero',
+  nativeCurrency: { name: 'Aleph Zero', symbol: 'AZERO', decimals: 18 },
+  rpcUrls: {
+    default: {
+      http: ['https://rpc.alephzero.raas.gelato.cloud'],
+    },
+  },
+  blockExplorers: {
+    default: {
+      name: 'Aleph Zero EVM Explorer',
+      url: 'https://evm-explorer.alephzero.org',
+      apiUrl: 'https://evm-explorer.alephzero.org/api',
+    },
+  },
+  contracts: {
+    multicall3: {
+      address: '0xca11bde05977b3631167028862be2a173976ca11',
+      blockCreated: 4603377,
+    },
+  },
+})
diff --git a/src/chains/index.ts b/src/chains/index.ts
index 2c49a0dd94..d742c14c04 100644
--- a/src/chains/index.ts
+++ b/src/chains/index.ts
@@ -7,6 +7,7 @@ export { acala } from './definitions/acala.js'
 export { acria } from './definitions/acria.js'
 export { adf } from './definitions/adf.js'
 export { aioz } from './definitions/aioz.js'
+export { alephZero } from './definitions/alephZero.js'
 export { alienx } from './definitions/alienX.js'
 export { alienxHalTestnet } from './definitions/alienXHalTestnet.js'
 export { ancient8 } from './definitions/ancient8.js'