-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
DRAFT
Goal: next iteration of the block explorer
On our explorer (https://testnet.midenscan.com/), we want to have a couple of updates and fixes.
General
- Can you change the Account Ids to bech32. After we closed this issue it should be clear what that means.
Main page (2 changes)
- Let's remove the "account updates" box - this should always be the same as the number of transactions. Can you find out why this differs?
- Add a status information of the testnet / devnet (red or green icon), you can leverage our endpoint.
Blocks
Overview tab (2 changes)
- Here again we have "Account Updates" and "Transactions". I think they should be the same thing. Not sure why the numbers are not the same currently, let's sync with the protocol and Node team.
Account Updates & Transactions
- The "Commited Block Number" seems always to reference to the block. So we can get rid of this info or put in the overview
- We should describe the transaction and the underlying account together (a transaction is defined as the account state change)
Accounts
- Again, merge Transactions and Account Updates
- Move "Procedure Digests" under "Code" similar to what Etherscan does. Then we need to find a way to split the procedures in "Read contract" and "Write contract".
Vault Assets
- Rename "Vault Assets" to "Assets"
- The assets in the explorer should show the token symbol, three letters, e.g., POL. However, we do not know the token symbol for every asset. We can provide you with an easy way how to read the token symbol.
- We should also show the token's decimals. The token symbol and the decimals are stored in the account in slot 1 (for public faucet accounts).
- We should not only show the Faucet Prefix ID but the whole Faucet Account ID in bech32 encoding.
Code tab (2 changes)
- For known digests (code snippets from the Miden Standard Library), we can show the MASM or even the Rust code. For that, we need to store a mapping from digest to MASM code. If the account code only consists of known digests, we can add a green hook symbol that this account is "verified". In addition to this, we'll also need to show storage offset and storage size. See below in the comment a mapping of known Digests and their MASM name.
- We should allow users to connect their wallet and read and write on the contract similar to Etherscan.
Storage
- We want to show the account's storage. There are two ways to store something in the account.
- There are 255 Storage slots, each a
Word. But usually will be much fewer - e.g., a basic wallet has only 1 storage slot. - There are key-value maps (StorageMaps). We need to show the leaves and the root of the tree. We should probably show a table (e.g., with 2 columns) with currently populated key-value pairs.
- We should show the
Word=[Felt, Felt, Felt, Felt]if we don't know what the value is. For most known account components ("verified contracts") we know how to read that data and we should display it in a human readable form.
Upload accounts - can be implemented in the future
- We want to be able to upload an account to the explorer. Accounts are serialized as
*.macfiles. So when I click on a private account, there needs to be an upload button; I then upload my account, and if the account hash matches, all data should be shown as if the account were a public account.
Note Tags
- We want to be able to search notes by
TAG. TheTAGis in the note metadata. There should be a separate "Note tags" page where we list all tags and then when we click on a specific tag, we can see all notes which have this tag.
Metadata
Metadata
Assignees
Labels
No labels