Skip to content

Commit

Permalink
Add Monad support
Browse files Browse the repository at this point in the history
  • Loading branch information
bruce-riley committed Jan 13, 2025
1 parent e824c8f commit 8bfd2d3
Show file tree
Hide file tree
Showing 9 changed files with 15 additions and 6 deletions.
1 change: 1 addition & 0 deletions core/base/src/constants/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ const chainIdAndChainEntries = [
[ 45, "Worldchain" ],
[ 46, "Ink" ],
[ 47, "HyperEVM" ],
[ 48, "Monad" ],
[ 3104, "Wormchain" ],
[ 4000, "Cosmoshub" ],
[ 4001, "Evmos" ],
Expand Down
1 change: 1 addition & 0 deletions core/base/src/constants/contracts/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ export const coreBridgeContracts = [[
["HyperEVM", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],
["Xlayer", "0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"],
["Linea", "0x79A1027a6A159502049F10906D333EC57E95F083"],
["Monad", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],
["MonadDevnet", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"],
]], [
"Devnet", [
Expand Down
2 changes: 2 additions & 0 deletions core/base/src/constants/finality.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ const finalityThresholds = [
["Unichain", 512],
["Ink", 512],
["HyperEVM", 1],
["Monad", 1],
["Cosmoshub", 0],
["Evmos", 0],
["Kujira", 0],
Expand Down Expand Up @@ -116,6 +117,7 @@ const blockTimeMilliseconds = [
["Kujira", 3_000],
["Mantle", 2_000],
["Moonbeam", 12_000],
["Monad", 1_000],
["MonadDevnet", 1_000],
["Near", 1_500],
["Neon", 30_000],
Expand Down
1 change: 1 addition & 0 deletions core/base/src/constants/nativeChainIds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ const chainNetworkNativeChainIdEntries = [
["HyperEVM", 998n],
["Xlayer", 195n],
["Linea", 59141n], // Sepolia
["Monad", 10143n],
["MonadDevnet", 41454n],
],
],
Expand Down
1 change: 1 addition & 0 deletions core/base/src/constants/platforms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ const platformAndChainsEntries = [[
"Worldchain",
"Ink",
"HyperEVM",
"Monad",
"MonadDevnet",
]], [
"Solana", [
Expand Down
1 change: 1 addition & 0 deletions core/base/src/constants/rpc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ const rpcConfig = [[
["Worldchain", "https://worldchain-sepolia.g.alchemy.com/public"],
["Ink", "https://rpc-qnd-sepolia.inkonchain.com"],
["HyperEVM", "https://api.hyperliquid-testnet.xyz/evm"],
["Monad", ""], // TODO: No public rpc is currently available, override with a custom rpc for now.
["MonadDevnet", ""], // TODO: No public rpc is currently available, override with a custom rpc for now.
["Noble", "https://noble-testnet-rpc.polkachu.com/"],
]], [
Expand Down
4 changes: 3 additions & 1 deletion core/icons/scripts/genIcons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ const makeChainCondition = (chain: Chain): string => {
return `(chain === "${chain}" || chain === "${chain}Sepolia")`;
} else if (chain === "Sei") {
return `(chain === "${chain}" || chain === "${chain}evm")`;
} else if (chain.includes("Sepolia") || chain.includes("Holesky") || chain === "Seievm") {
} else if (chain === "Monad") {
return `(chain === "${chain}" || chain === "${chain}Devnet")`;
} else if (chain.includes("Sepolia") || chain.includes("Holesky") || chain === "Seievm" || chain === "MonadDevnet") {
return "";
} else {
return `(chain === "${chain}")`;
Expand Down
10 changes: 5 additions & 5 deletions core/icons/src/constants/chainIcons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,11 @@ export function chainToIcon(chain: Chain): string {
PREFIX +
"PHN2ZyB3aWR0aD0iMTQ0IiBoZWlnaHQ9IjE0NCIgdmlld0JveD0iMCAwIDE0NCAxNDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0NCA3MS42OTkxQzE0NCAxMTkuMzA2IDExNC44NjYgMTM0LjU4MiA5OS41MTU2IDEyMC45OEM4Ni44ODA0IDEwOS44ODkgODMuMTIxMSA4Ni40NTIxIDY0LjExNiA4NC4wNDU2QzM5Ljk5NDIgODEuMDExMyAzNy45MDU3IDExMy4xMzMgMjIuMDMzNCAxMTMuMTMzQzMuNTUwNCAxMTMuMTMzIDAgODYuMjQyOCAwIDcyLjQzMTVDMCA1OC4zMDYzIDMuOTY4MDkgMzkuMDU0MiAxOS43MzYgMzkuMDU0MkMzOC4xMTQ2IDM5LjA1NDIgMzkuMTU4OCA2Ni41NzIyIDYyLjEzMiA2NS4xMDczQzg1LjAwMDcgNjMuNTM3OSA4NS40MTg0IDM0Ljg2ODkgMTAwLjI0NyAyMi42MjcxQzExMy4xOTUgMTIuMDU5MyAxNDQgMjMuNDY0MSAxNDQgNzEuNjk5MVoiIGZpbGw9IiM5N0ZDRTQiLz48L3N2Zz4="
);
} else if (chain === "Monad" || chain === "MonadDevnet") {
return (
PREFIX +
"PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTUuOTk5OSAwQzExLjM3OTUgMCAwIDExLjM3OTIgMCAxNS45OTk5QzAgMjAuNjIwNiAxMS4zNzk1IDMyIDE1Ljk5OTkgMzJDMjAuNjIwMyAzMiAzMiAyMC42MjA0IDMyIDE1Ljk5OTlDMzIgMTEuMzc5NCAyMC42MjA1IDAgMTUuOTk5OSAwWk0xMy41MDY2IDI1LjE0OTJDMTEuNTU4MiAyNC42MTgzIDYuMzE5ODEgMTUuNDU1IDYuODUwODMgMTMuNTA2NkM3LjM4MTg1IDExLjU1ODEgMTYuNTQ1IDYuMzE5NzkgMTguNDkzMyA2Ljg1MDhDMjAuNDQxOCA3LjM4MTczIDI1LjY4MDIgMTYuNTQ0OSAyNS4xNDkyIDE4LjQ5MzRDMjQuNjE4MiAyMC40NDE4IDE1LjQ1NSAyNS42ODAyIDEzLjUwNjYgMjUuMTQ5MloiIGZpbGw9IiM4MzZFRjkiLz48L3N2Zz4="
);
} else if (chain === "Wormchain") {
return (
PREFIX +
Expand Down Expand Up @@ -270,11 +275,6 @@ export function chainToIcon(chain: Chain): string {
PREFIX +
"PHN2ZyB3aWR0aD0iNjAwIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDYwMCA2MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI2MDAiIHJ4PSIzMDAiIGZpbGw9IiMwMjA0MTgiLz48cGF0aCBkPSJNNDQyLjkyOSAzMzguNDg4QzQ0Mi45MzkgMzUyLjI4IDQ0MC4yNzkgMzY1LjczMiA0MzUuMDA5IDM3OC40NjVDNDI5LjcyOSAzOTEuMjE4IDQyMi4xMSA0MDIuNjEzIDQxMi4zNzUgNDEyLjM1N0M0MDIuNjExIDQyMi4xMTEgMzkxLjIwNiA0MjkuNzIgMzc4LjQ3MiA0MzQuOTlDMzY1Ljc1NyA0NDAuMjUxIDM1Mi4zMzQgNDQyLjkzIDMzOC41ODEgNDQyLjkzSDMzOC41MDNIMzM4LjQ4NEgzMzguMDc2QzMxNi4wNDQgNDQyLjkzIDI5NC4xNzYgNDM1Ljc0NyAyNzYuNDU0IDQyMi42OTRDMjU4LjYxNCA0MDkuNTUyIDI0NS4yMSAzOTAuNjQ2IDIzOC41NDIgMzY4LjgxOEMyMzUuNTUzIDM1OC45NzcgMjM0LjAzOSAzNDguNzk1IDIzNC4wNTggMzM4LjUyN1YyNjEuNTEzQzIzNC4wNjggMjU0LjE3NiAyMzYuOTIxIDI0Ny4yODUgMjQyLjExNCAyNDIuMDkzQzI0Ny4zMDcgMjM2LjkxIDI1NC4xOTggMjM0LjA1NiAyNjEuNTE2IDIzNC4wNDdDMjY4Ljg0NCAyMzQuMDY2IDI3NS43MzUgMjM2LjkzOSAyODAuOTE4IDI0Mi4xMTJDMjg2LjA5MSAyNDcuMjk1IDI4OC45NTUgMjU0LjE4NiAyODguOTc0IDI2MS41MDRWMzM4LjQ5OEMyODguOTg0IDM1MS43MTcgMjk0LjE0NyAzNjQuMTU5IDMwMy41MjMgMzczLjUwNkMzMTAuNDczIDM4MC40MzYgMzE5LjIzNyAzODUuMTA0IDMyOC44NjUgMzg2Ljk5NkMzMzguNDg0IDM4OC45MDggMzQ4LjM3NCAzODcuOTI4IDM1Ny40NDkgMzg0LjE3MkMzNjYuNTE0IDM4MC40MTYgMzc0LjE5MiAzNzQuMTI3IDM3OS42NTYgMzY1Ljk2NUMzODUuMTMgMzU3LjgxMiAzODguMDMyIDM0OC4zMiAzODguMDUyIDMzOC40ODhWMTg0LjUyOUMzODguMDUyIDE4MC45MDkgMzg4Ljc1MSAxNzcuMzY2IDM5MC4xMzkgMTc0LjAxOEMzOTEuNTE3IDE3MC42NzkgMzkzLjUxNiAxNjcuNjggMzk2LjA4OCAxNjUuMTE4QzM5OC42NTEgMTYyLjU2NSA0MDEuNjQgMTYwLjU1NiA0MDQuOTg5IDE1OS4xNjhDNDExLjY3NiAxNTYuNDEyIDQxOS4yOTUgMTU2LjQwMiA0MjUuOTkyIDE1OS4xNjhDNDI5LjM0MSAxNjAuNTU2IDQzMi4zMyAxNjIuNTY1IDQzNC44OTIgMTY1LjExOEM0MzcuNDU1IDE2Ny42OCA0MzkuNDU0IDE3MC42NzkgNDQwLjg0MiAxNzQuMDE4QzQ0Mi4yMyAxNzcuMzY2IDQ0Mi45MjkgMTgwLjkwOSA0NDIuOTI5IDE4NC41MjlWMzM4LjQ4OFpNMjI2LjUxNyAyMjYuNDg2QzIxNy4xNiAyMzUuODQyIDIxMS45OTcgMjQ4LjI4NSAyMTEuOTg3IDI2MS41MDRWNDE1LjQ3M0MyMTEuOTg3IDQyMi44IDIwOS4xMzQgNDI5LjY5MSAyMDMuOTQxIDQzNC44ODRDMTkzLjU3NSA0NDUuMjY5IDE3NS40ODMgNDQ1LjI2OSAxNjUuMTA4IDQzNC44ODRDMTU5LjkyNSA0MjkuNjkxIDE1Ny4wNzEgNDIyLjggMTU3LjA3MSA0MTUuNDczVjI2MS41MTNDMTU3LjA5MSAyMzYuNDgzIDE2Ni4xMDcgMjEyLjI2NyAxODIuNDYyIDE5My4zMjJDMTk4LjgyNiAxNzQuMzc3IDIyMS40NiAxNjEuOTM0IDI0Ni4yMiAxNTguMjY2QzI1MS4zMTUgMTU3LjUwOSAyNTYuNDMgMTU3LjEzIDI2MS41MjYgMTU3LjEzQzI4MS4yIDE1Ny4xMyAzMDAuNjExIDE2Mi43MDEgMzE3LjQwMyAxNzMuMzI5QzMyNS4zMzIgMTc4LjM0NyAzMzIuNDg2IDE4NC4zNzQgMzM4LjcxNyAxOTEuMjA2QzMzOC43NzUgMTkxLjE0OCAzMzguODE0IDE5MS4wOCAzMzguODcyIDE5MS4wMjJMMzM5LjAxOCAxOTEuNTc1QzM0OS4yNTcgMjAyLjkwMiAzNTYuOTgzIDIxNi40MTIgMzYxLjQ3NyAyMzEuMjIyTDM2MS45MDQgMjMyLjYzQzM2NC42MzEgMjQyLjAyNSAzNjYuMDEgMjUxLjc0IDM2Ni4wMTkgMjYxLjUwNFYzMzguNDg4QzM2Ni4wMTkgMzQzLjkzMyAzNjQuNDE4IDM0OS4yMDMgMzYxLjM5IDM1My43MjZDMzU4LjM2MSAzNTguMjQ5IDM1NC4xMSAzNjEuNzQzIDM0OS4wODMgMzYzLjgzOUMzNDUuODEyIDM2NS4xOTggMzQyLjM1NiAzNjUuODM4IDMzOC44NzIgMzY1Ljg3N1YzNjUuOTI2QzMzOC43MzYgMzY1LjkyNiAzMzguNjEgMzY1Ljg4NyAzMzguNDc0IDM2NS44ODdDMzM2LjcyNyAzNjUuODg3IDMzNC45NyAzNjUuNzcgMzMzLjIyMyAzNjUuNDIxQzMzMi4yMTQgMzY1LjIyNyAzMzEuMjM0IDM2NC45MTYgMzMwLjI2MyAzNjQuNjA2VjM2NC40N0MzMjkuNjAzIDM2NC4yNTYgMzI4LjkyNCAzNjQuMTUgMzI4LjI4MyAzNjMuODc4QzMyMy4yNTUgMzYxLjc4MSAzMTkuMDA0IDM1OC4yODcgMzE1Ljk3NiAzNTMuNzY1QzMxMi45NDggMzQ5LjIzMiAzMTEuMzQ2IDM0My45NjIgMzExLjM0NiAzMzguNTI3VjI2OC44MDJIMzExLjMyN1YyNjEuNDk0QzMxMS4zMDcgMjU0LjkyMyAzMTAuMDI2IDI0OC41MjcgMzA3LjUxMiAyNDIuNDkxQzMwNC45ODkgMjM2LjQ0NCAzMDEuMzQ5IDIzMS4wMjggMjk2LjcgMjI2LjM5OUMyOTIuMDUxIDIyMS43NzkgMjg2LjYxNiAyMTguMTc4IDI4MC41NCAyMTUuNjg0QzI3NC40NzQgMjEzLjE4OSAyNjguMDI5IDIxMS44NSAyNjEuNTI2IDIxMS45NjdDMjQ4LjMwNiAyMTEuOTc2IDIzNS44NzMgMjE3LjE0IDIyNi41MTcgMjI2LjQ4NlpNNDUwLjQ3IDE0OS41MzFDNDQxLjExNCAxNDAuMTg0IDQyOC42OSAxMzUuMDMxIDQxNS40ODEgMTM1LjAxMUg0MTUuNDYxQzQwMi4yNTEgMTM1LjA1IDM4OS44MzggMTQwLjIxMyAzODAuNTAxIDE0OS41NkMzNzEuMTgzIDE1OC45MDYgMzY2LjAzOSAxNzEuMzIgMzY2LjAxOSAxODQuNTI5VjE5MC4wOUMzNTIuMTAxIDE2OS43NTcgMzMyLjQ3NiAxNTMuODQgMzA5LjM5NSAxNDQuNDA2QzI4MC42MzcgMTMyLjY4MiAyNDguNjY2IDEzMS44NzYgMjE5LjMzNCAxNDIuMjIyQzE5NC41NDYgMTUxLjAxNiAxNzMuNDE2IDE2Ny4wMSAxNTguMjM2IDE4OC40NzlDMTQzLjA1NiAyMDkuOTU4IDEzNS4wMTkgMjM1LjIxMSAxMzUgMjYxLjUwNFY0MTUuNDczQzEzNSA0MjguNzAxIDE0MC4xNTQgNDQxLjEzNCAxNDkuNTEgNDUwLjQ5QzE1OC44NTcgNDU5Ljg0NiAxNzEuMyA0NjUgMTg0LjUyOSA0NjVDMTk3Ljc1OCA0NjUgMjEwLjE5MSA0NTkuODQ2IDIxOS41NDggNDUwLjQ5QzIyOC45MDQgNDQxLjEzNCAyMzQuMDU4IDQyOC43MDEgMjM0LjA1OCA0MTUuNDczVjQwOS45NUMyNDcuOTg2IDQzMC4yNzQgMjY3LjU5MiA0NDYuMTkxIDI5MC42NzMgNDU1LjYwNUMzMTkuNDEyIDQ2Ny4zMjkgMzUxLjM3MyA0NjguMDk2IDM4MC42OTUgNDU3Ljc3OUM0MDUuNDc0IDQ0OC45OTYgNDI2LjU4NCA0MzIuOTkxIDQ0MS43NzQgNDExLjUyMkM0NTYuOTQ0IDM5MC4wNDQgNDY0Ljk4MSAzNjQuODEgNDY1IDMzOC41MjdWMTg0LjUxOUM0NjQuOTgxIDE3MS4zMSA0NTkuODE3IDE1OC44ODcgNDUwLjQ3IDE0OS41MzFaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNl8yMDIpIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzZfMjAyIiB4MT0iMTIwLjQ0MSIgeTE9IjQ2Mi41NjIiIHgyPSI0NjMuMTA5IiB5Mj0iOTUuNDYzNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMC4wNSIgc3RvcC1jb2xvcj0id2hpdGUiLz48c3RvcCBvZmZzZXQ9IjAuMzgiIHN0b3AtY29sb3I9IiNBN0IzRkYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NEE0RkYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="
);
} else if (chain === "MonadDevnet") {
return (
PREFIX +
"PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTUuOTk5OSAwQzExLjM3OTUgMCAwIDExLjM3OTIgMCAxNS45OTk5QzAgMjAuNjIwNiAxMS4zNzk1IDMyIDE1Ljk5OTkgMzJDMjAuNjIwMyAzMiAzMiAyMC42MjA0IDMyIDE1Ljk5OTlDMzIgMTEuMzc5NCAyMC42MjA1IDAgMTUuOTk5OSAwWk0xMy41MDY2IDI1LjE0OTJDMTEuNTU4MiAyNC42MTgzIDYuMzE5ODEgMTUuNDU1IDYuODUwODMgMTMuNTA2NkM3LjM4MTg1IDExLjU1ODEgMTYuNTQ1IDYuMzE5NzkgMTguNDkzMyA2Ljg1MDhDMjAuNDQxOCA3LjM4MTczIDI1LjY4MDIgMTYuNTQ0OSAyNS4xNDkyIDE4LjQ5MzRDMjQuNjE4MiAyMC40NDE4IDE1LjQ1NSAyNS42ODAyIDEzLjUwNjYgMjUuMTQ5MloiIGZpbGw9IiM4MzZFRjkiLz48L3N2Zz4="
);
} else {
// This case is never reached
const _: never = chain;
Expand Down
File renamed without changes

0 comments on commit 8bfd2d3

Please sign in to comment.