🏦The Nota Registrar
The token escrower and Nota issuer
Last updated
The token escrower and Nota issuer
Last updated
The Nota Registrar is the main contract that users and other dApps will interact with. It is responsible for the accounting of funds and Nota issuance as well as governing hook/token whitelisting. The protocol uses a singleton + hook architecture which comes with a number of benefits.
Simple: Under 300 lines of code with most being getter functions
Extensible: Hooks will add new functionalities to the Nota Registrar over time
Non-upgradeable: Limited governance which only affects whitelisting (for now) new hooks/tokens and updating the contractURI
Frictionless: Singleton + hook reduces token approval friction and improves developer experience
Standard: The registrar uses ERC4096 for updating Nota data in a trustless manner
The protocol escrows money and issues Notas while hooks are the rules for a Nota's escrow and ownership. This process of calling the registrar and activating a hook works for the main functions the registrar outlines: Writing, Transferring, Funding, Cashing, Approving, and tokenURI (WTFCAT is a short mnemonic) with each having a bytes argument for custom hook-specific arguments.
Hooks has become something of a Schelling point in crypto. The benefits for Denota protocol in particular are:
Extensibility- new hooks means new functionalities. This invites others to create and customize their escrows for their own specific needs which not only solves their problem but helps others take inspiration for their own.
Visibility- each hook that is added to the registrar is automatically visible to anyone also using the registrar. For developers this means better distribution for their creations and potentially increasing their revenue.
Root of Trust- since the token transferring and escrow ownership accounting is the most susceptible part of an escrow, developers that trust the registrar also inherit the security of it's code. It being rigorously audited gives developers higher security assurances from the get go.
Simplification- developers only have to think about writing the logic for their specific hook and not write accounting and escrowing logic from scratch. The registrar and accompanying hook templates give devs a framework to build off of.
Cheaper Audits- devs don't have to audit as many lines of code. We also make the auditing cheaper through subsidies.
Cheaper gas costs- the registrar has been maximally optimized for gas savings (while still preserving privacy) which would cost developers a great deal extra if they even optimize at all. In the end this is cheaper for end users which means developers
Easier querying- our subgraph works for any hook.
Better tooling- Our sdk