diff --git a/core/base/src/constants/chains.ts b/core/base/src/constants/chains.ts index 118c846c1..dffca0d0a 100644 --- a/core/base/src/constants/chains.ts +++ b/core/base/src/constants/chains.ts @@ -66,6 +66,7 @@ const chainIdAndChainEntries = [ [10005, "OptimismSepolia"], [10006, "Holesky" ], [10007, "PolygonSepolia" ], + [10008, "MonadDevnet" ], ] as const satisfies MapLevel; export const [chainIds, chains] = zip(chainIdAndChainEntries); diff --git a/core/base/src/constants/contracts/core.ts b/core/base/src/constants/contracts/core.ts index 31396b692..fb0a120b6 100644 --- a/core/base/src/constants/contracts/core.ts +++ b/core/base/src/constants/contracts/core.ts @@ -89,6 +89,7 @@ export const coreBridgeContracts = [[ ["Worldchain", "0xe5E02cD12B6FcA153b0d7fF4bF55730AE7B3C93A"], ["Xlayer", "0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"], ["Linea", "0x79A1027a6A159502049F10906D333EC57E95F083"], + ["MonadDevnet", "0x376428e7f26D5867e69201b275553C45B09EE090"], ]], [ "Devnet", [ ["Solana", "Bridge1p5gheXUvJ6jGWGeCsgPKgnE3YgdGKRVCMY9o"], diff --git a/core/base/src/constants/finality.ts b/core/base/src/constants/finality.ts index 8fdbbb95b..cff29db91 100644 --- a/core/base/src/constants/finality.ts +++ b/core/base/src/constants/finality.ts @@ -58,10 +58,10 @@ const finalityThresholds = [ ["Terra2", 0], ["Xpla", 0], ["Injective", 0], - ["Berachain", 0], - ["Snaxchain", 0], - ["Unichain", 0], - ["Worldchain",0], + ["Berachain", 1], + ["Snaxchain", 512], + ["Unichain", 512], + ["Worldchain",512], ["Cosmoshub", 0], ["Evmos", 0], ["Kujira", 0], @@ -76,6 +76,7 @@ const finalityThresholds = [ ["BaseSepolia", 512], ["OptimismSepolia", 512], ["PolygonSepolia", 32], + ["MonadDevnet", 1], ] as const satisfies MapLevel; /** diff --git a/core/base/src/constants/nativeChainIds.ts b/core/base/src/constants/nativeChainIds.ts index 54b20e8a0..84d6b1a8a 100644 --- a/core/base/src/constants/nativeChainIds.ts +++ b/core/base/src/constants/nativeChainIds.ts @@ -110,6 +110,7 @@ const chainNetworkNativeChainIdEntries = [ ["Worldchain", 4801n], ["Xlayer", 195n], ["Linea", 59141n], // Sepolia + ["MonadDevnet", 41454n], ], ], [ diff --git a/core/base/src/constants/platforms.ts b/core/base/src/constants/platforms.ts index 92299cd29..af5419e83 100644 --- a/core/base/src/constants/platforms.ts +++ b/core/base/src/constants/platforms.ts @@ -39,6 +39,7 @@ const platformAndChainsEntries = [[ "Snaxchain", "Unichain", "Worldchain", + "MonadDevnet", ]], [ "Solana", [ "Solana", diff --git a/core/base/src/constants/rpc.ts b/core/base/src/constants/rpc.ts index 8abe49466..cff7a9bd9 100644 --- a/core/base/src/constants/rpc.ts +++ b/core/base/src/constants/rpc.ts @@ -91,6 +91,7 @@ const rpcConfig = [[ ["Snaxchain", "https://testnet.snaxchain.io"], ["Unichain", "https://sepolia.unichain.org"], ["Worldchain", "https://worldchain-sepolia.g.alchemy.com/public"], + ["MonadDevnet", ""], // TODO: No public rpc is currently available, override with a custom rpc for now. ]], [ "Devnet", [ ["Ethereum", "http://eth-devnet:8545"], diff --git a/core/icons/src/constants/chainIcons.ts b/core/icons/src/constants/chainIcons.ts index 6d80404d2..026fb98a6 100644 --- a/core/icons/src/constants/chainIcons.ts +++ b/core/icons/src/constants/chainIcons.ts @@ -255,6 +255,11 @@ export function chainToIcon(chain: Chain): string { PREFIX + "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjMkE3REUxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNjUuMjMzIDIuNTQ1YTE5LjI5OCAxOS4yOTggMCAwIDAtMTkuMTU2IDBsLTIwNS41IDExOC43MzRBMTkuMDIgMTkuMDIgMCAwIDAgMzEgMTM3Ljc1OHYyMzcuNDdhMTkuMDE3IDE5LjAxNyAwIDAgMCA5LjU3OCAxNi40NzlsODMuMjQyIDQ4LjE3VjE5OS4xNjhhMTkuMjkxIDE5LjI5MSAwIDAgMSA5LjAxNC0xNi4wNTdsNTYuMzQtMzQuOTMgNTYuMzQtMzQuNTA4YTE5LjAyMiAxOS4wMjIgMCAwIDEgMjAgMGw1Ni4zNCAzNC41MDggNTYuMzQgMzQuOTNhMTkuMyAxOS4zIDAgMCAxIDkuMDE0IDE2LjMzOXYxMTMuOTQ1YTE5LjAwNyAxOS4wMDcgMCAwIDEtOS4wMTQgMTYuMzM5bC01Ni4zNCAzNS4wNzEtNTYuMzQgMzQuMzY3Yy01LjM1MiAzLjM4LTEwLjcwNC0yLjExMy0xMC43MDQtOC40NTFWMzQ1LjY1YTE4LjQ1NyAxOC40NTcgMCAwIDEgMTAuNzA0LTE0LjA4NWw0Ny4xODUtMjkuMTU2YTE5LjI5NCAxOS4yOTQgMCAwIDAgOS4wMTQtMTYuMzM4VjIzOS40NWExOC44NjcgMTguODY3IDAgMCAwLTkuMDE0LTE1LjkxNWwtNDYuOTAzLTI4LjE3YTE5LjAxMyAxOS4wMTMgMCAwIDAtMjAgMGwtNDYuNzYzIDI4LjE3YTE4Ljc0MSAxOC43NDEgMCAwIDAtOS4yOTYgMTUuOTE1djIzNC43OTNjLjA3Ljg0NC4wNyAxLjY5MiAwIDIuNTM2bDU2LjM0IDMyLjY3NmExOS4yOTMgMTkuMjkzIDAgMCAwIDE5LjE1NiAwbDIwNS42NC0xMTguNzM0YTE5LjAxOCAxOS4wMTggMCAwIDAgOS41NzgtMTYuNDc5VjEzNy43NThhMTkuMDE0IDE5LjAxNCAwIDAgMC05LjU3OC0xNi40NzlMMjY1LjIzMyAyLjU0NVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==" ); + } else if (chain === "MonadDevnet") { + return ( + PREFIX + + "PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTUuOTk5OSAwQzExLjM3OTUgMCAwIDExLjM3OTIgMCAxNS45OTk5QzAgMjAuNjIwNiAxMS4zNzk1IDMyIDE1Ljk5OTkgMzJDMjAuNjIwMyAzMiAzMiAyMC42MjA0IDMyIDE1Ljk5OTlDMzIgMTEuMzc5NCAyMC42MjA1IDAgMTUuOTk5OSAwWk0xMy41MDY2IDI1LjE0OTJDMTEuNTU4MiAyNC42MTgzIDYuMzE5ODEgMTUuNDU1IDYuODUwODMgMTMuNTA2NkM3LjM4MTg1IDExLjU1ODEgMTYuNTQ1IDYuMzE5NzkgMTguNDkzMyA2Ljg1MDhDMjAuNDQxOCA3LjM4MTczIDI1LjY4MDIgMTYuNTQ0OSAyNS4xNDkyIDE4LjQ5MzRDMjQuNjE4MiAyMC40NDE4IDE1LjQ1NSAyNS42ODAyIDEzLjUwNjYgMjUuMTQ5MloiIGZpbGw9IiM4MzZFRjkiLz48L3N2Zz4=" + ); } else { // This case is never reached const _: never = chain; diff --git a/core/icons/src/images/chains/MonadDevnet.svg b/core/icons/src/images/chains/MonadDevnet.svg new file mode 100755 index 000000000..5700dc202 --- /dev/null +++ b/core/icons/src/images/chains/MonadDevnet.svg @@ -0,0 +1,3 @@ + + +