Inspiration

We had a chat with the engineers at the Jump booth and brainstormed some ideas, particularly in regards to building an explorer for Wormhole cross-chain events. Additionally, since wormhole has a limit for the amount of value allowed to be bridged in a given time (as an additional protection after the hack earlier this year), we wanted to create an estimator for the likelihood a transaction would succeed. This is important especially for cross-chain arbitrage since transactions that are not sucessfully approved could become irreversibly locked up in wormhole for 24 hours.

What it does

Our project aims to provide greater insight into underlying Wormhole events and help users decide estimate the likihood of their transaction succeeding. Using a spy relay and the public Guardian APIs, we created a system that displays both a real-time tally of Guardian signatures and an success estimator for transactions that takes in chainid and notional value. The real-time graph displays a rolling-window live tally of the Guardians that have signed the past 1000 VAAs. This way, users can easily visualize network reliability and see that the guardians with little to no recent transactions are probably offline. Additionally, by inputting a notional amount and chain id, users can also estimate if their transaction will be successful based on guardian availablity and single transaction notional amount.

How we built it

We started by building an MVP for the transaction success estimator and concurrently worked on getting guardian data feeds directly from the gossip network. We ran a spy relay in a Digital Ocean droplet, which we used to provide a live VAA broadcast feed to our backend via RPC. Our backend then provides the frontend, which we built in React, with a REST endpoint to query the latest VAA signature counts on a rolling window basis. The information required for our transaction success estimator was pulled in from the public endpoints from available guardians.

Challenges we ran into

Cross-chain Wormhole transactions must be signed off by 13 of 19 "guardians" to be considered valid. Thus, we needed information from all 19 guardians to reliably predict whether or not cross-chain transactions will fail. However, only 7 of the 19 guardians provide public APIs, so the rest needed to be collected directly from the Gossip network that the guardians broadcast to. This posed a significant challenge for us, since the current "spy" relay implemtation supports only listening for VAA (Verified Action Approvals) and not the Heartbeat events that we were interested in. We compromised by using only the publically available APIs for the transaction success estimator and supplementing it with live feeds from the VAA spy relay.

Future

We managed to get something useful(maybe?) out there for everyone using the wormhole bridge. Also, we managed to sneak in another hack overnight and in while we ran into issues with both the lack of documentation on the wormhole + guardian code.

In the future, we plan on adding additional functionality to the network if we see people use the mvp. There were things like mempool monitoring and gossip networks that could be done if there was more time.

Built With

Share this project:

Updates