Skip to content
This repository has been archived by the owner on Aug 6, 2024. It is now read-only.

Registry Exploration Frontend #45

Open
8 of 9 tasks
pascalherrmann opened this issue Jan 13, 2021 · 1 comment
Open
8 of 9 tasks

Registry Exploration Frontend #45

pascalherrmann opened this issue Jan 13, 2021 · 1 comment
Assignees

Comments

@pascalherrmann
Copy link
Collaborator

pascalherrmann commented Jan 13, 2021

  • call API

  • display data:

  • group domains - in the registry page list all domain (and number of contract) → and then you can click on a domain and see all by one domain

  • show a pie chart of verifications

  • maybe some bar chart: which domain has how many contracts (10 most frequent), contracts added over time

  • show number of hashed domains at bottom and not entry for every hashed domain or thnkk about toggle

  • filter for statistic/plots: e.g. filter by domain ("only show statistics for gaulug.de and not whole registry") => add text-field to analytics page ← reuse filters or create new filter UI. we could also just place the charts below the table (where we already have the filter → could be easier)

  • add some titles (reuse PageHeader component), some information (maybe some numbers)

  • e.g. group all subdomains for same domain (tum.de, in.tum.de, cv.in.tum.de, rgb.tum.de → show all for tum.de, then have bar chart for each sub-domain)

@pascalherrmann
Copy link
Collaborator Author

I've mostly finished the API functionality. The response format currently looks as follows:

  • attribute status: should be SUCCESS
  • attribute registryEntries contains an attribute for each domain; which again contains an attribute for each contract address. This contains the contract data as well as verification status.
{
  "status": "SUCCESS",
  "registryEntries": {
    "localhost": {
      "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC": {
        "contract": {
          "contractAddress": "0x6eD79Aa1c71FD7BdBC515EfdA3Bd4e26394435cC",
          "domain": "localhost",
          "expiry": "1642521681",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "ayGzVBdhO/GEruQispP2u+M9tYoP8rCo+ctQPOlYUhqVwTJFgFjQZSOIGpCGWG61gu8JitzWLTkx71Kwz2VV/Fx8+JXtqDRJ66taweTWTaaO1ybqaERrDnQYKbMaSf72r1CnOI+REJTRXBzT/TADVUC+DxFIqI2TBBzcV9PRWkZTesHLTCLB2rgbAgdxhUyZSXpcfpU3PetqeHMEZsfVvuyevCsrULtTcvQP9KynVIoxDl/EOa5IfToo2Kcx4atKzQf8jXL6zaPMU1tzdADpldwQD9Pk9/imZXcV4sZTN1XaSwTzop/aRGrpK/9NYzyVnjzN02iZQrxXir4hbkqjJw==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": true,
        "reason": "PASSED!"
      },
      "0xFF6049B87215476aBf744eaA3a476cBAd46fB1cA": {
        "contract": {
          "contractAddress": "0xFF6049B87215476aBf744eaA3a476cBAd46fB1cA",
          "domain": "localhost",
          "expiry": "1642521968",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "PHnXg/eWp3qPLFWSeFkfdYbBwd9BWZY8jOaEtnBNObnC4kgbsH3xHE3mQX2xemxqOngatcjHiA3muFIC3pod3WNPb8H4aZQW/O1cEE5RYAKZuVijIBaUrhsEn7OnBVZYzbpciKfPuienZOjU7gDuGGgrVgPRuTw5gcPzvYdqC+EOI5/UAi+jT54dQ6zK38fiXyatZpmD5HdlmYXv3xhgW+k7WoTqgxYVf3tEm2L3iFMlzb/zDazqBjgortYtlzYA3T81l82uONM5Ipy9H6QOYRrev8VvCwuy+b55nPdbxVh4CPav/Eeliat9ywnxWDjrkptnuH0iXR2RPtQmTnHnFg==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": true,
        "reason": "PASSED!"
      },
      "0xA586074FA4Fe3E546A132a16238abe37951D41fE": {
        "contract": {
          "contractAddress": "0xA586074FA4Fe3E546A132a16238abe37951D41fE",
          "domain": "localhost",
          "expiry": "1642521970",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "ScMtl9LRBNtJhQLeD/YqIh5JkrKcD0aA6Ut9flIOpKiNqJvogsrQ7G8OUyhYu3VAiAJWcJSYjwTy+xlZif6nwIny4rzqivJgoG3/W/HXL1tmzfvtDqI17x9QMm+Yo74ysiAFmqlUrby0Gg7z5J3YGZ0etpzNfweBFjg4UZ62sjwi9AeqxEymw6LoVyQpHqsBJ2qF68e16Z6plD0N1nnkLSGNxyDtpRhnUA1juP6RwfmNFH8gz/kbXfJwhOduLgWzEh15kGBgPFh6k4gR/YU+CRC2McQ1/cAMji6y84xdI1U7vqxojtZOVa8JzUOyaYGBp1DTAeaUfYxC4/N1N07Wbg==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": true,
        "reason": "PASSED!"
      },
      "0x2D8BE6BF0baA74e0A907016679CaE9190e80dD0A": {
        "contract": {
          "contractAddress": "0x2D8BE6BF0baA74e0A907016679CaE9190e80dD0A",
          "domain": "localhost",
          "expiry": "1642521972",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "RCzBK8mjaULeYXCvCNQa2I+XQxBOlmlAvG8H2OmN25M7Ls2TaaHV+wMRzTx5qHjfGmNQaccJ7LfWtB+FimNT4H/fDvO5RpWNGI7HZTiIydtJPeIZEdddRwIN0bK9EjhWMbt0A9TMNOJDnIBnFkn0xDlANQydkwv/2s4x+039KoM8zhPCzk/tAcPWg65TmgW2T+4cPziEaQFg0sZ2K/vTiYy5sowBJf8FUEL2cTRTatq0cLSR/DfQ5p2Eb8uLqGzgJ/OncnQ+0jXIIvCcUyrUkrcIwkd9miJu+OCbqUASPpliwqPSpmYPyIcOjY5xkPn+NIbBHJV7q8IFjv4kPr3nAg==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": true,
        "reason": "PASSED!"
      }
    },
    "127.0.0.1": {
      "0xEC5d4F247aF81A843612eb1371CBCfa88b762119": {
        "contract": {
          "contractAddress": "0xEC5d4F247aF81A843612eb1371CBCfa88b762119",
          "domain": "127.0.0.1",
          "expiry": "1642522124",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "rR1jk1uTL2b6AH7FxCXZffKpdKPEGYhT/0hcFsqOz1EHoqeqBGBNPhWDAWpY80Pr40aNbCSA4QerY9+qT27bu7T8bHyVF/rZ33mxprbVyk67gC4OrPyiGIu8FawnjVCd3dOERuKp8KCukt9sXPEGM1Ef9aA/xHLNnwFQuPT+CAmbmbMJwwRdL25VVv4hHAtKn1OgGgTDzvc+PUCsa+LUyEL5unUGOd7YcPDHV+5HMGkjbdl7E/GG6l1fzqOyEHa3txQK1h3LcA45qR47HFqsUoPuraESkW9MAAchmAvSYqQSXr/WaxNwAtP+vNt+bvrNzvlwybIhsG7GtbjAOt04oA==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": true,
        "reason": "PASSED!"
      }
    },
    "localhorst": {
      "0x1b88Bdb8269A1aB1372459F5a4eC3663D6f5cCc4": {
        "contract": {
          "contractAddress": "0x1b88Bdb8269A1aB1372459F5a4eC3663D6f5cCc4",
          "domain": "localhorst",
          "expiry": "1642522156",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "hgmTcJGzoPexfhh6Urn3kvpeEbI6mXgyeKrPes/hCC/cSPqV0vDuIkeZUeb3rm7eRx2zS+w7fG49x5K+vjj6/4lllmb9Lvj41MTgoQlwxyzRawR2Qgz9fi49w0QDKVN1pWgxDfV8yr0BALW77Ha6dLgp7UIWZFTlnTdua9dqS9Efm/GJYBZTYscsHAAyDaNstGGQV/b706VxWe8gQMGeyPqvvyTfj+euPr3hVx6lmKG2zEQ61iWC1YzJigV/u4rdluuBwpHYjKO1JtOsjZthKt0/ZWi1FiFsTCyUvPas1NCFIPJwI1hrhctKeiMGXbeEIskcewLEGg22zTqVbfMU8A==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": false,
        "reason": "Domain not in allowed DNS entries!"
      }
    },
    "gaulug.de": {
      "0x7414e38377D6DAf6045626EC8a8ABB8a1BC4B97a": {
        "contract": {
          "contractAddress": "0x7414e38377D6DAf6045626EC8a8ABB8a1BC4B97a",
          "domain": "gaulug.de",
          "expiry": "1642522205",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "bDXwXqosK8w7uUf7QaphJpnGYI2tq8x6Z4TWBzK2IPYncbPCug/g24c2OZ54/EBRQlPlxGrh7x1uXFfDXA0xL5qv4YWNaGnO3k3c/4zvdagPimvSaFccqYXo1rxPqZIKPLmya2/+96Bf3UywhvdDrrHRkX7N7LH6jES0L5vPQn4CaT3Px/qDA4+TWj7iZwOlSdYVZ1/7/5K5NMb2Lhv1EmTOfo9/Xt/9EIW7VHd9b5DC/5X9e8GU9nqNi1WdTdfXrdI45n+oT/GHv3qWPQILi3Tx0IMxvvxb/IWrZXpT0jbgomNAuf+b/9LhlZmtbGCW3opBJD44EiFDcdIRzeMsjQ==",
          "fingerprint": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "verified": false,
        "reason": "Signature does not match"
      },
      "0x4bf3A7dFB3b76b5B3E169ACE65f888A4b4FCa5Ee": {
        "contract": {
          "contractAddress": "0x4bf3A7dFB3b76b5B3E169ACE65f888A4b4FCa5Ee",
          "domain": "gaulug.de",
          "expiry": "1642522234",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "RWcuIWN31/ojzI10NHANJqQ+8ESg9T4XW/YpOgX44W3QU0a4+an4dBBvkVeBZXJQbhcLklNY+M8d9cTEZcxkepzuos4oXYMWrGvmsn7TfaWlskT1+tDdxP9lU6+bMlRVmYMZy/S1+2SQ+llZBQe8hU1jC60/whESgaF/b6AnikTX+zGb85/EhXyU/khRFLNbG/tmVKeh0GkZpancJbCkCAf4r3HNdsH1V3tYdAWeP1q7YzSU3j9PYtF0rI18lV5ZkL9yFpqI5XddzJEurgb5alkSSN6eBhVm0OskC4ELusw8mVuX7nntxaoISHdjQKeoJBXv7AlcDcdS2q64/H/8SA==",
          "fingerprint": "0x149b40036e1fbc1d13aedc7e3abf64a8c539b16810987721ca262156732eea4c"
        },
        "verified": true,
        "reason": "PASSED!"
      }
    },
    "pascal-herrmann.com": {
      "0x4339316e04CFfB5961D1c41fEF8E44bfA2A7fBd1": {
        "contract": {
          "contractAddress": "0x4339316e04CFfB5961D1c41fEF8E44bfA2A7fBd1",
          "domain": "pascal-herrmann.com",
          "expiry": "1642522298",
          "flags": "0x000000000000000000000000000000000000000000000001",
          "signature": "T6YZ5UAS8woBapFOGvvRrMxq9eXd2xgayOamBKbLEb5anAYgOUmPGF7uwsKBKCkwGtIY5WsOV4lSeyeAeeZjMYsi9Zfri/mhXpoB2ipyTU/URBtTPSwFSH1xFg0qbKXXQQZmgvrJX3oAgSQ06oa//+JEiqgEWboRjlLG/xUGJX3U+pI4ubNSs7Ae6pRFF4jHS5OxCcfX5tNHfEpDcgpmoC7arTdyfPArEuzpCZA3xlprsNsNU0xiwkjuWIabXC6vXV0qrfsNSr2kRyrrZNr6d3hn96j71Oi9+NUy147RCc9eqIDcSgO+h0/8iGBnnS+Z/4Nr8ktaG2NOp2ev9LPD/w==",
          "fingerprint": "0x25a0d241a8dac7054e1d8b6c910c644459a8df283adfc89fc4cf5738c0ae2085"
        },
        "verified": true,
        "reason": "PASSED!"
      }
    }
  }
}

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants