ENS names are initially registered only for selected period of time. Once it's over user has to manually renew the domain name which could easily be forgotten which causes the domain to expire. The vault owner can add a list of ENS names to the vault, and anyone can renew the names. The vault owner can top-up the vault with ETH, and the renewer can utilize the ETH for renewing the names. Part of the renewal fee is shared with the renewer, as such to incentivize the renewer to renew the names.
It was our first time implementing substreams from the Graph and we ran into issues with documentation and the cli tool. A solid 9 bug reports later we got it working 🚀. Due to sleep depravation we made a few oversights forgetting to update addresses 🤷♀️. Initially we started with a Proxy/Factory setup, but later realized we could turn it into a single compact smart contract 💪. Another major issue we ran into (that costed us a solid crucial 3 hours in the final sprint) was CORS. Turns out that the hosted substream implementation doesnt serve with the proper cors headers, meaning any ordinary browser rejected all outgoing requests to the substream. A few hours of crying about socks & http proxies only working in NodeJS and not in the browser environment we used a crappy forwarding server, but ideally we create our own forwarder or work with the Graph team to eliminate this pitfall for future hackers.
Another (minor) issue was that we ran out of Monster halfway through, but luckily our frens stood by our side and kept us supplied throughout the night! Props to them.
Tracks Applied (4)
The Graph
Technologies used
Discussion