hyperlane-xyz / hyperlane-monorepo

The home for Hyperlane core contracts, sdk packages, and other infrastructure
https://hyperlane.xyz
Other
295 stars 326 forks source link

Pull chain metadata and warp route configs via registry in Warp UI #3692

Closed nambrot closed 3 months ago

jmrossy commented 4 months ago

@nambrot I'm not totally convinced on pulling the warp configs from the registry. Chains yes but it feels fragile to have the warp instances be potentially broken by changes in a separate repo.

nambrot commented 4 months ago

What kind of breakage are you anticipating?

I'm fine with continuing to supporting copied over warp configs in the warp UI, but in chatting with @yorhodes it is a much nicer DX to just point to a (fork of a) registry which contains both the chain and warp config

It kinda feels even worse to use the registry to fetch the chain metadata, but then not allow the usage of a config which is in the registry, and it has to be copied over

https://www.notion.so/hyperlanexyz/SDK-Deployment-Tooling-Architecture-Review-fdebc481bd2e4c11bf05e1ea4cc1fa20?pvs=4#3931abead00649f7a22f833ca9ec6480 for reference

jmrossy commented 4 months ago

It kinda feels even worse to use the registry to fetch the chain metadata, but then not allow the usage of a config which is in the registry, and it has to be copied over

@nambrot I hear you on this. We'd need some more tooling that we haven't built yet. A 'give me warp route for token X on chains A, B, C' because Nexus is a mix of a bunch of different routes. Some of which, like the IBC ones, are not in the registry.

I'm also concerned about the security implications given that the registry may have many contributors.

Overall, I'm open to it but I want to discuss it first please

yorhodes commented 4 months ago

@nambrot I hear you on this. We'd need some more tooling that we haven't built yet. A 'give me warp route for token X on chains A, B, C' because Nexus is a mix of a bunch of different routes. Some of which, like the IBC ones, are not in the registry.

can we have a non Nexus build that works against an arbitrary registry? this is especially useful for folks just forking

jmrossy commented 4 months ago

can we have a non Nexus build that works against an arbitrary registry? this is especially useful for folks just forking

@yorhodes We could have main do that if we want, but leave the 3 production branches static.

nambrot commented 4 months ago

@jmrossy I definitely hear you that there are some implications of a) approving a PR into the registry in the first place + b) listing on a Abacus Works hosted instance of the Warp UI.

Like @yorhodes mentioned, IMO, we should allow for a template UI to be configured with an arbitrary registry URI (to support a user's registry fork at minimum), but to account for your concern, we could allow for allowlisting a specific subset or have a commitment to a list of warp routes to have deployments explicitly acknowledge a set of changed warp routes?

yorhodes commented 4 months ago

Like @yorhodes mentioned, IMO, we should allow for a template UI to be configured with an arbitrary registry URI (to support a user's registry fork at minimum), but to account for your concern, we could allow for allowlisting a specific subset or have a commitment to a list of warp routes to have deployments explicitly acknowledge a set of changed warp routes?

yes, I think nexus or whatever AW instance should have stronger review requirements on token inclusion

avious00 commented 4 months ago

cc @cmcewen related to broader warp UI scope decision

yorhodes commented 4 months ago

I configured a 1 click vercel deploy link here support via HYP_REGISTRY_URL the set of chains and warp routes to pull

avious00 commented 4 months ago

@jmrossy - @yorhodes mentioned that we might need an additional allowlist for things to selectively allow which routes show up in nexus