hyperlane-xyz / hyperlane-explorer Goto Github PK
View Code? Open in Web Editor NEWWeb app for the Hyperlane Explorer
Home Page: https://explorer.hyperlane.xyz
License: Other
Web app for the Hyperlane Explorer
Home Page: https://explorer.hyperlane.xyz
License: Other
Support for delivery debugging of pending cosmos messages
mailbox.process
by the relayerFor users in the Explorer, see ISM metadata about which ISMs and validators are secure their route.
Currently it imports CoreChains from the Registry lib to determine if scraped. It would be better to query the DB for this information.
Once this is done, remove the hard-coded CoreChains list from the registry as it's no longer needed.
https://discord.com/channels/935678348330434570/935678739663192184/1241041835976294442
Part of the effort required for Cosmos scraping / explorer -- see hyperlane-xyz/hyperlane-monorepo#3330 for the agent side
At the moment, the scraper has been writing 20-byte hex addresses to the DB.
As we prepare to support other execution environments, we'll start writing addresses (e.g. for the message sender, recipient, mailbox addresses, etc) as 32 byte hex addresses that are then expected by the UI to correctly format. We make this 32-byte address assumption throughout our protocol already & have logic to format addresses appropriately for each protocol, so I think this is the most natural step forward
The postgresByteaToString
function is used and the length isn't checked for addresses - I believe we'll need to move to using some of the utils functions to format these for the chain's protocol type
To begin with, I think we can make this change but continue to assume that only Ethereum chains are shown in the explorer - so really it'd be to handle reading 32 byte addresses but show them as 20 byte addresses
Example, mumbai -> goerli:
https://explorer.hyperlane.xyz/message/0xc809f5e01a53782be251ee9e39202ae9382ac541c74812007ea4b91a3df491aa
For some reason the revert reason isn't showing in the explorer, but it shows in the relayer:
ContractError(MiddlewareError(MiddlewareError(MiddlewareError(JsonRpcClientError(JsonRpcError(JsonRpcError { code: 3, message: \"execution reverted\", data: Some(String(\"0x815e1d64\")
Maybe related to the use of custom errors?
Support for delivery checking of pending solana messages
Removed because destination-based or
clauses are causing too much database load
Queries will need to be restructured into multiple requests
Support for search and display of messages on solana chains
Chain filtering may be currently broken
Problems to solve:
registry
In response to abuse discussed here: https://discord.com/channels/935678348330434570/1244947293392736387/1244953319391236108
Options include authentication, rate limiting, DDoS protection services, or privatizing the API entirely.
We're running a Hyperlane PI on a custom EVM network (Axon ), whose RPC client is not capable of responding to eth_getLogs { startBlock = 0, endBlock = latest)
quickly enough, and fails with a 504 gateway timeout. While we can request the performance improvement of the Axon clients, maybe a better solution would be if Hyperlane explorer could index logs by block ranges of 500-1000 blocks. With an all-blocks query, very popular Mailboxes will fail anyway (imagine 1M+ messages)
I've added a PI chain, however it's not appearing in the list of supported chains within the Explorer as per the below gif
Then the examples also don't take into account of the new Explorer type (Etherscan)
https://docs.hyperlane.xyz/docs/build-with-hyperlane/explorer/configuring-pi-chains
Support for delivery debugging of pending solana messages
Add support for registration of DApp Contract address in webpage, an extra column with DApp name will give an idea to viewers to check new projects using Hyperlane bridge.
The PI search used to execute only on chains the user manually added to their local instance.
Now, the search executes on all PI chains from the registry, which will grow quickly.
Searching 20+ chains simultaneously will likely be untenable and we'll need a better solution for this.
Related: #43
Support for delivery checking of pending cosmos messages
There is some limited test coverage but especially as we start to invest in multi-protocol explorer support, the test coverage must be improved
Logo currently shows as ?
Support for search and display of messages on cosmos chains
Not 100% sure where the data
query came from, but Mitosis was trying to see that Mode <-> Ethereum messages were being delivered using the following explorer links:
The message content and delivery status isn't shown, however if you remove the data
, then all is fine:
Mode -> Eth https://explorer.hyperlane.xyz/message/0xdd4bda8543ef00a9ced3d6d8e35dd93fd2d921407b7f17110148fa3cbd0e8349
Eth -> Mode https://explorer.hyperlane.xyz/message/0xa61982c88ab45e46733f2f71d64fa9abe76d1aa55b60b96907c0f6035e56fec0
We are currently scraping Mode but the explorer does not yet have it in its chain metadata
In explorer UI
When I select all testnet in Destination Chain
, then back unchecked Mainnet, it query with some chainID not bigint type like this below
{
"query": "query ($search: bytea, $originChains: [bigint!], $destinationChains: [bigint!], $startTime: timestamp, $endTime: timestamp) @cached(ttl: 5) {\n q0: message_view(\n where: {_and: [{destination_chain_id: {_in: $destinationChains}}]}\n order_by: {id: desc}\n limit: 20\n ) {\n id\n msg_id\n nonce\n sender\n recipient\n is_delivered\n send_occurred_at\n delivery_occurred_at\n delivery_latency\n origin_chain_id\n origin_domain_id\n origin_tx_id\n origin_tx_hash\n origin_tx_sender\n destination_chain_id\n destination_domain_id\n destination_tx_id\n destination_tx_hash\n destination_tx_sender\n __typename\n }\n}",
"variables": {
"destinationChains": [
"97",
"122",
"252",
"690",
"1329",
"7000",
"10200",
"10243",
"17000",
"22222",
"34443",
"43113",
"44787",
"59144",
"84532",
"88002",
"421614",
"534351",
"984123",
"11155111",
"161221135",
"239092742",
"1399811149",
"1399811150",
"1399811151",
"injective-1",
"neutron-1",
"osmosis-1",
"stride-1"
]
}
}
It seems some code incident add some chainid not right type
Remove string chainid from query
For users in the Explorer, see warp route data: which token, the amount of it, and the fees paid.
https://hasura.io/docs/latest/auth/authentication/index/
Currently deciding btwn webhook or JWT
Instead of the simple blur and replace we have now, instead have the new messages add in and smoothly push older messages down
We're scraping mantapacific now and should add it to the UI
Need to wrap up rebrand changes and then change hyperlane.xyz DNS settings to get explorer.hyperlane.xyz live
From https://discord.com/channels/935678348330434570/961710804011458621/1085799205391568906
Explorer told me that the recipient address is not a contract, but on Goerli network, this address is indeed a HyperERC721 contract "0xcb6ddab87576373cd973c5b6a01def668bb9cd69 "
The actual problem was that the message was reverting on the destination, which it seems was not correctly surfaced to the user. Not sure if there's a bug or what but we should do a quick poke around and see if anything stands out
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.