You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For each protocol that Hyperlane supports, the utils and SDK packages must add one or more protocol-specific crypto libs, which are always large. We must also add a lot of our own code. The end result is a steadily growing bundle size which hurts app UX and security (a single compromised lib can easily own user funds).
The Hyperlane packages do use ESM so they're tree-shakeable but most crypto libs other than Viem + Ethers are poorly structured and don't support shaking (looking at you Cosmos). Meaning even if our own house is in order, the libs we require devs to use are not.
We should explore options for de-coupling our libs from protocol-specific libs. Two ideas would be a plugin architecture with separate packages or separated exports under the same package.
Problem
For each protocol that Hyperlane supports, the utils and SDK packages must add one or more protocol-specific crypto libs, which are always large. We must also add a lot of our own code. The end result is a steadily growing bundle size which hurts app UX and security (a single compromised lib can easily own user funds).
The Hyperlane packages do use ESM so they're tree-shakeable but most crypto libs other than Viem + Ethers are poorly structured and don't support shaking (looking at you Cosmos). Meaning even if our own house is in order, the libs we require devs to use are not.
We should explore options for de-coupling our libs from protocol-specific libs. Two ideas would be a plugin architecture with separate packages or separated exports under the same package.
Related
#5321
The text was updated successfully, but these errors were encountered: