warp-contracts / sonar

Warp Gateway exploration app
https://sonar.warp.cc
4 stars 2 forks source link

Add support for ANS in Sonar #38

Open jakub-wojciechowski opened 1 year ago

jakub-wojciechowski commented 1 year ago

It will be most useful in the search box but we may also translate contract addresses and owner names.

This API could be helpful:

https://github.com/decentldotland/ans-stats#3--profile-lookup

ppedziwiatr commented 1 year ago

Hmm, haven't decentdotland moved to EXM? If so, their contracts are no longer compatible with the original SmartWeave protocol and as such should not be integrated into any of the Warp tools - as no one will be able to verify those contracts' state (plus it won't be possible to evaluate the state in DRE nodes).

I would ask ar.io about their ANS - if it supports contracts (or in general - any kind of transaction id->name mapping).

If not - I believe we should implement our own "CNS" (we've already had one, that additionally supported versioning - https://github.com/redstone-finance/redstone-smartweave-contracts/tree/main/src/contracts-registry https://github.com/redstone-finance/redstone-smartweave-contracts/blob/main/src/__tests__/contract-registry.contract.spec.ts) and integrate with SonAR and directly with SDK (e.g. so that user could write in the SDK warp.contract('warp-token').readState()) - it should be trivial to implement and could even serve as another introductory tutorial for the academy; after all - the naming system was the reason why the SmartWeave was originally created in the first place :-)

xylophonez commented 1 year ago

hey @ppedziwiatr! ANS uses plain SmartWeave, and is only a proxy for wallet addresses so it would be possible to add human-readable usernames to the explorer for who deployed or interacted with Warp contracts. Similar to how ViewBlock integrated it:

image

For a simple UI integration, it'd only be necessary to call the ANS REST API on addresses to check against whether ANS has a record for them (at the moment there are 576 users with a domain).

ppedziwiatr commented 1 year ago

Thanks @xylophonez , we will take this into consideration!