diff --git a/core/base/src/constants/chains.ts b/core/base/src/constants/chains.ts index b37822e0c..08ceb99df 100644 --- a/core/base/src/constants/chains.ts +++ b/core/base/src/constants/chains.ts @@ -48,6 +48,7 @@ const chainIdAndChainEntries = [ [ 39, "Berachain" ], [ 40, "Seievm" ], [ 43, "Snaxchain" ], + [ 44, "Unichain" ], [ 3104, "Wormchain" ], [ 4000, "Cosmoshub" ], [ 4001, "Evmos" ], diff --git a/core/base/src/constants/contracts/core.ts b/core/base/src/constants/contracts/core.ts index 1c9e4ace4..342ea47ef 100644 --- a/core/base/src/constants/contracts/core.ts +++ b/core/base/src/constants/contracts/core.ts @@ -85,6 +85,7 @@ export const coreBridgeContracts = [[ ["Blast", "0x473e002D7add6fB67a4964F13bFd61280Ca46886"], ["Berachain", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"], ["Snaxchain", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"], + ["Unichain", "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd"], ["Xlayer", "0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780"], ["Linea", "0x79A1027a6A159502049F10906D333EC57E95F083"], ]], [ diff --git a/core/base/src/constants/contracts/tokenBridge.ts b/core/base/src/constants/contracts/tokenBridge.ts index 8bce358d0..bff76ace0 100644 --- a/core/base/src/constants/contracts/tokenBridge.ts +++ b/core/base/src/constants/contracts/tokenBridge.ts @@ -77,6 +77,7 @@ export const tokenBridgeContracts = [[ ["Xlayer", "0xdA91a06299BBF302091B053c6B9EF86Eff0f930D"], ["Berachain", "0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"], ["Snaxchain", "0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"], + ["Unichain", "0xa10f2eF61dE1f19f586ab8B6F2EbA89bACE63F7a"], ["Linea", "0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"], ]], [ "Devnet", [ diff --git a/core/base/src/constants/finality.ts b/core/base/src/constants/finality.ts index 64af98221..694655a5d 100644 --- a/core/base/src/constants/finality.ts +++ b/core/base/src/constants/finality.ts @@ -60,6 +60,7 @@ const finalityThresholds = [ ["Injective", 0], ["Berachain", 0], ["Snaxchain", 0], + ["Unichain", 0], ["Cosmoshub", 0], ["Evmos", 0], ["Kujira", 0], diff --git a/core/base/src/constants/nativeChainIds.ts b/core/base/src/constants/nativeChainIds.ts index 882540d44..94c3a7d8b 100644 --- a/core/base/src/constants/nativeChainIds.ts +++ b/core/base/src/constants/nativeChainIds.ts @@ -106,6 +106,7 @@ const chainNetworkNativeChainIdEntries = [ ["Scroll", 534351n], ["Berachain", 80084n], // Testnet v2 ["Snaxchain", 13001n], + ["Unichain", 1301n], ["Xlayer", 195n], ["Linea", 59141n], // Sepolia ], diff --git a/core/base/src/constants/platforms.ts b/core/base/src/constants/platforms.ts index 1862a6ed2..9d841b587 100644 --- a/core/base/src/constants/platforms.ts +++ b/core/base/src/constants/platforms.ts @@ -37,6 +37,7 @@ const platformAndChainsEntries = [[ "Berachain", "Seievm", "Snaxchain", + "Unichain", ]], [ "Solana", [ "Solana", diff --git a/core/icons/src/constants/chainIcons.ts b/core/icons/src/constants/chainIcons.ts index cce58c355..800755e48 100644 --- a/core/icons/src/constants/chainIcons.ts +++ b/core/icons/src/constants/chainIcons.ts @@ -195,6 +195,11 @@ export function chainToIcon(chain: Chain): string { PREFIX + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjQuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4JLnN0MHtmaWxsOnVybCgjU1ZHSURfMV8pO30JLnN0MXtmaWxsOiMwMEQxRkY7fTwvc3R5bGU+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjU3LjYzIC05Ny42NjkpIj4JPGcgdHJhbnNmb3JtPSJtYXRyaXgoLjI2NDU4IDAgMCAuMjY0NTggLTI1Ny42MyA5Ny42NjkpIj4JCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTYyMS40OTQ4IiB5MT0iMjI1LjQ4OTIiIHgyPSIxNjIxLjQ5NDgiIHkyPSItMzAuNTEwOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjc1IDAgMCAtMC43NSAtODUzLjI3MTIgMTY5LjExNDgpIj4JCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojMDkwMjIwIi8+CQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzE3MDY1OSIvPgkJPC9saW5lYXJHcmFkaWVudD4JCTxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjM2Mi44IiBjeT0iMzYyLjgiIHI9IjM2Mi44Ii8+CQk8Zz4JCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjQzLjMsMjcyLjZjLTIuOS0zLjYtNy4zLTUuNi0xMi01LjZoLTk2LjljLTAuOCwwLTEuNS0wLjMtMi4xLTAuOGMtMC41LTAuNS0wLjgtMS4xLTAuOC0xLjh2LTY1LjMJCQkJYzAtMC43LDAuMy0xLjMsMC44LTEuOGMwLjYtMC42LDEuMy0wLjksMi4xLTAuOGgxMDIuNGMyNS44LDAsNDguMSwxMC42LDY2LjksMzEuN2wyNC45LDMwLjRsLTQ4LjUsNTkuMUwyNDMuMywyNzIuNnoJCQkJIE00MjIuMywyMjcuOWMxOC43LTIwLjksNDEuMS0zMS40LDY3LjItMzEuNGgxMDIuMWMwLjctMC4xLDEuNCwwLjIsMS45LDAuNmMwLjUsMC41LDAuNywxLjIsMC42LDJ2NjUuM2MwLDAuNy0wLjIsMS4zLTAuNiwxLjgJCQkJYy0wLjUsMC42LTEuMiwwLjktMS45LDAuOGgtOTYuOWMtNC42LTAuMS05LDItMTIsNS42bC03MS40LDg2LjlMNDgzLDQ0N2MyLjksMy4zLDcuMiw1LjMsMTEuNiw1LjJoOTYuOWMwLjctMC4xLDEuNSwwLjMsMS45LDAuOAkJCQljMC40LDAuNiwwLjcsMS40LDAuNiwyLjF2NjUuM2MwLDAuNy0wLjIsMS4zLTAuNiwxLjhjLTAuNSwwLjYtMS4yLDAuOS0xLjksMC44SDQ4OS41Yy0yNi4xLDAtNDguMy0xMC42LTY2LjktMzEuN2wtNTkuNC03Mi41CQkJCWwtNTkuNCw3Mi41Yy0xOC43LDIxLjEtNDEuMSwzMS43LTY3LjIsMzEuN0gxMzQuNGMtMC43LDAuMS0xLjUtMC4zLTEuOS0wLjhjLTAuNS0wLjYtMC43LTEuNC0wLjYtMi4xdi02NS4zCQkJCWMwLTAuNywwLjItMS4zLDAuNi0xLjhjMC41LTAuNiwxLjItMC45LDEuOS0wLjhoOTYuOWM0LjYsMCw5LTIuMSwxMi01LjZsNzAuMS04NS42TDQyMi4zLDIyNy45eiIvPgkJPC9nPgk8L2c+PC9nPjwvc3ZnPg==" ); + } else if (chain === "Unichain") { + return ( + PREFIX + + "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjQuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIJIHZpZXdCb3g9IjAgMCAxNjguMyAxOTMuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTY4LjMgMTkzLjg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgkuc3Qwe2ZpbGw6I0ZGMDA3QTt9CS5zdDF7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojRkYwMDdBO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02Niw0NC4xYy0yLjEtMC4zLTIuMi0wLjQtMS4yLTAuNWMxLjktMC4zLDYuMywwLjEsOS40LDAuOGM3LjIsMS43LDEzLjcsNi4xLDIwLjYsMTMuOGwxLjgsMi4xbDIuNi0wLjQJYzExLjEtMS44LDIyLjUtMC40LDMyLDRjMi42LDEuMiw2LjcsMy42LDcuMiw0LjJjMC4yLDAuMiwwLjUsMS41LDAuNywyLjhjMC43LDQuNywwLjQsOC4yLTEuMSwxMC45Yy0wLjgsMS41LTAuOCwxLjktMC4zLDMuMgljMC40LDEsMS42LDEuNywyLjcsMS43YzIuNCwwLDQuOS0zLjgsNi4xLTkuMWwwLjUtMi4xbDAuOSwxYzUuMSw1LjcsOS4xLDEzLjYsOS43LDE5LjJsMC4yLDEuNWwtMC45LTEuM2MtMS41LTIuMy0yLjktMy44LTQuOC01LjEJYy0zLjQtMi4zLTctMy0xNi41LTMuNWMtOC42LTAuNS0xMy41LTEuMi0xOC4zLTIuOGMtOC4yLTIuNy0xMi40LTYuMi0yMi4xLTE5LjFjLTQuMy01LjctNy04LjgtOS43LTExLjQJQzc5LjYsNDguMyw3My43LDQ1LjMsNjYsNDQuMXoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQwLjUsNTYuOGMwLjItMy44LDAuNy02LjMsMS44LTguNmMwLjQtMC45LDAuOC0xLjcsMC45LTEuN2MwLjEsMC0wLjEsMC43LTAuNCwxLjVjLTAuOCwyLjItMC45LDUuMy0wLjQsOC44CWMwLjcsNC41LDEsNS4xLDUuOCwxMGMyLjIsMi4zLDQuOCw1LjIsNS44LDYuNGwxLjcsMi4ybC0xLjctMS42Yy0yLjEtMi02LjktNS44LTgtNi4zYy0wLjctMC40LTAuOC0wLjQtMS4zLDAuMQljLTAuNCwwLjQtMC41LDEtMC41LDMuOWMtMC4xLDQuNS0wLjcsNy4zLTIuMiwxMC4yYy0wLjgsMS41LTAuOSwxLjItMC4yLTAuNWMwLjUtMS4zLDAuNi0xLjksMC42LTYuMmMwLTguNy0xLTEwLjgtNy4xLTE0LjMJYy0xLjUtMC45LTQuMS0yLjItNS42LTIuOWMtMS42LTAuNy0yLjgtMS4zLTIuNy0xLjNjMC4yLTAuMiw2LjEsMS41LDguNCwyLjVjMy41LDEuNCw0LjEsMS41LDQuNSwxLjQJQzE0MC4yLDYwLjEsMTQwLjQsNTkuMywxNDAuNSw1Ni44eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03MC4xLDcxLjdjLTQuMi01LjgtNi45LTE0LjgtNi4zLTIxLjVsMC4yLTIuMWwxLDAuMmMxLjgsMC4zLDQuOSwxLjUsNi40LDIuNGM0LDIuNCw1LjgsNS43LDcuNSwxMy45CWMwLjUsMi40LDEuMiw1LjIsMS41LDYuMWMwLjUsMS41LDIuNCw1LDQsNy4yYzEuMSwxLjYsMC40LDIuNC0yLjEsMi4yQzc4LjUsNzkuNyw3My40LDc2LjIsNzAuMSw3MS43eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzUuNCwxMTUuMmMtMTkuOC04LTI2LjgtMTQuOS0yNi44LTI2LjZjMC0xLjcsMC4xLTMuMSwwLjEtMy4xYzAuMSwwLDAuOCwwLjYsMS43LDEuM2M0LDMuMiw4LjUsNC42LDIxLDYuNAljNy4zLDEuMSwxMS41LDEuOSwxNS4zLDMuMmMxMi4xLDQsMTkuNiwxMi4yLDIxLjQsMjMuM2MwLjUsMy4yLDAuMiw5LjMtMC42LDEyLjVjLTAuNywyLjUtMi43LDcuMS0zLjIsNy4yYy0wLjEsMC0wLjMtMC41LTAuMy0xLjMJYy0wLjItNC4yLTIuMy04LjItNS44LTExLjNDMTU0LDEyMy4yLDE0OC42LDEyMC41LDEzNS40LDExNS4yeiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMjEuNCwxMTguNWMtMC4yLTEuNS0wLjctMy40LTEtNC4ybC0wLjUtMS41bDAuOSwxLjFjMS4zLDEuNSwyLjMsMy4zLDMuMiw1LjhjMC43LDEuOSwwLjcsMi41LDAuNyw1LjYJYzAsMy0wLjEsMy43LTAuNyw1LjRjLTEsMi43LTIuMiw0LjYtNC4yLDYuN2MtMy42LDMuNy04LjMsNS43LTE1LDYuNmMtMS4yLDAuMS00LjYsMC40LTcuNiwwLjZjLTcuNSwwLjQtMTIuNSwxLjItMTcsMi44CWMtMC42LDAuMi0xLjIsMC40LTEuMywwLjNjLTAuMi0wLjIsMi45LTIsNS40LTMuMmMzLjUtMS43LDcuMS0yLjYsMTUtNGMzLjktMC42LDcuOS0xLjQsOC45LTEuOEMxMTguMSwxMzUuNiwxMjMsMTI3LjksMTIxLjQsMTE4LjUJeiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMzAuNSwxMzQuNmMtMi42LTUuNy0zLjItMTEuMS0xLjgtMTYuMmMwLjItMC41LDAuNC0xLDAuNi0xYzAuMiwwLDAuOCwwLjMsMS40LDAuN2MxLjIsMC44LDMuNywyLjIsMTAuMSw1LjcJYzguMSw0LjQsMTIuNyw3LjgsMTUuOSwxMS43YzIuOCwzLjQsNC41LDcuMyw1LjMsMTIuMWMwLjUsMi43LDAuMiw5LjItMC41LDExLjljLTIuMiw4LjUtNy4yLDE1LjMtMTQuNSwxOS4yYy0xLjEsMC42LTIsMS0yLjEsMQljLTAuMSwwLDAuMy0xLDAuOS0yLjJjMi40LTUuMSwyLjctMTAsMC45LTE1LjVjLTEuMS0zLjQtMy40LTcuNS04LTE0LjRDMTMzLjIsMTM5LjYsMTMxLjksMTM3LjUsMTMwLjUsMTM0LjZ6Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTU2LDE2NS4yYzcuNC02LjIsMTYuNS0xMC42LDI0LjktMTJjMy42LTAuNiw5LjYtMC40LDEyLjksMC41YzUuMywxLjQsMTAuMSw0LjQsMTIuNiw4LjEJYzIuNCwzLjYsMy41LDYuNyw0LjYsMTMuNmMwLjQsMi43LDAuOSw1LjUsMSw2LjFjMC44LDMuNiwyLjQsNi40LDQuNCw3LjljMy4xLDIuMyw4LjUsMi40LDEzLjgsMC40YzAuOS0wLjMsMS43LTAuNiwxLjctMC41CWMwLjIsMC4yLTIuNSwyLTQuMywyLjljLTIuNSwxLjMtNC41LDEuNy03LjIsMS43Yy00LjgsMC04LjktMi41LTEyLjItNy41Yy0wLjctMS0yLjEtMy45LTMuMy02LjZjLTMuNS04LjEtNS4zLTEwLjUtOS40LTEzLjIJYy0zLjYtMi4zLTguMi0yLjgtMTEuNy0xLjFjLTQuNiwyLjItNS44LDguMS0yLjYsMTEuN2MxLjMsMS41LDMuNywyLjcsNS43LDNjMy43LDAuNSw2LjktMi40LDYuOS02LjFjMC0yLjQtMC45LTMuOC0zLjMtNC45CWMtMy4yLTEuNC02LjcsMC4yLTYuNiwzLjNjMCwxLjMsMC42LDIuMSwxLjksMi43YzAuOCwwLjQsMC44LDAuNCwwLjIsMC4zYy0yLjktMC42LTMuNi00LjItMS4zLTYuNWMyLjgtMi44LDguNy0xLjYsMTAuNywyLjMJYzAuOCwxLjYsMC45LDQuOCwwLjIsNi44Yy0xLjcsNC40LTYuNSw2LjctMTEuNCw1LjRjLTMuMy0wLjktNC43LTEuOC04LjctNS45Yy03LTcuMi05LjctOC42LTE5LjctMTAuMWwtMS45LTAuM0w1NiwxNjUuMnoiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMy40LDQuM2MyMy4zLDI4LjMsNTkuMiw3Mi4zLDYxLDc0LjdjMS41LDIsMC45LDMuOS0xLjYsNS4zYy0xLjQsMC44LTQuMywxLjYtNS43LDEuNmMtMS42LDAtMy41LTAuOC00LjgtMi4xCWMtMC45LTAuOS00LjgtNi42LTEzLjYtMjAuM2MtNi43LTEwLjUtMTIuNC0xOS4yLTEyLjUtMTkuM0MyNS44LDQ0LDI1LjgsNDQsMzgsNjUuOEM0NS43LDc5LjUsNDguMiw4NC40LDQ4LjIsODVjMCwxLjMtMC40LDItMiwzLjgJYy0yLjcsMy0zLjksNi40LTQuOCwxMy41Yy0xLDcuOS0zLjcsMTMuNS0xMS40LDIzYy00LjUsNS42LTUuMiw2LjYtNi4zLDguOWMtMS40LDIuOC0xLjgsNC40LTIsOGMtMC4yLDMuOCwwLjIsNi4yLDEuMyw5LjgJYzEsMy4yLDIuMSw1LjMsNC44LDkuNGMyLjMsMy42LDMuNyw2LjMsMy43LDcuM2MwLDAuOCwwLjIsMC44LDMuOCwwYzguNi0yLDE1LjctNS40LDE5LjYtOS42YzIuNC0yLjYsMy00LDMtNy42CWMwLTIuMy0wLjEtMi44LTAuNy00LjJjLTEtMi4yLTIuOS00LTctNi44Yy01LjQtMy43LTcuNy02LjctOC4zLTEwLjdjLTAuNS0zLjQsMC4xLTUuNywzLjEtMTJjMy4xLTYuNSwzLjktOS4yLDQuNC0xNS44CWMwLjMtNC4yLDAuOC01LjksMi03LjJjMS4zLTEuNCwyLjQtMS45LDUuNS0yLjNjNS4xLTAuNyw4LjQtMiwxMS00LjVjMi4zLTIuMSwzLjMtNC4yLDMuNC03LjNsMC4xLTIuM0w3MC4xLDc3QzY1LjQsNzEuNiwwLjMsMCwwLDAJQy0wLjEsMCwxLjUsMS45LDMuNCw0LjN6IE0zNC4xLDE0Ni41YzEuMS0xLjksMC41LTQuMy0xLjMtNS41Yy0xLjctMS4xLTQuMy0wLjYtNC4zLDAuOWMwLDAuNCwwLjIsMC44LDAuOCwxYzAuOSwwLjUsMSwxLDAuMywyLjEJYy0wLjcsMS4xLTAuNywyLjEsMC4yLDIuOEMzMS4yLDE0OC45LDMzLjEsMTQ4LjMsMzQuMSwxNDYuNXoiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNzQuNiw5My45Yy0yLjQsMC43LTQuNywzLjMtNS40LDUuOWMtMC40LDEuNi0wLjIsNC41LDAuNSw1LjRjMS4xLDEuNCwyLjEsMS44LDQuOSwxLjgJYzUuNSwwLDEwLjItMi40LDEwLjctNS4zYzAuNS0yLjQtMS42LTUuNy00LjUtNy4yQzc5LjMsOTMuNyw3Ni4yLDkzLjQsNzQuNiw5My45eiBNODEsOTguOWMwLjgtMS4yLDAuNS0yLjUtMS0zLjQJYy0yLjctMS43LTYuOC0wLjMtNi44LDIuM2MwLDEuMywyLjEsMi43LDQuMSwyLjdDNzguNiwxMDAuNSw4MC40LDk5LjcsODEsOTguOXoiLz48L3N2Zz4=" + ); } else if (chain === "Wormchain") { return ( PREFIX + diff --git a/core/icons/src/images/chains/Unichain.svg b/core/icons/src/images/chains/Unichain.svg new file mode 100755 index 000000000..fa31aeaa1 --- /dev/null +++ b/core/icons/src/images/chains/Unichain.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + +