Ethereum Revocation Registry Controller
The controller module for interacting with EIP-5539-compatible Ethereum revocation lists.
Motivation
The EIP-5539 draft proposes a new RBAC-enabled revocation registry that can be used by any valid Ethereum address to maintain a set of revocation lists. In those, arbitrary revocation keys can be marked as either revoked or not. Additionally, the registry includes a set of management features that enables owners to have features like delegates, owner changes, and meta transactions.
This repository includes a controller module for interacting with EIP-5539-compatible revocation lists. This includes managing owners, delegates, revocation lists, revocation keys, and the support for meta transactions.
Installation
Execute this to install this dependency:
npm install --save @spherity/ethr-revocation-registry-controller
You can then build the controller object by instantiating it for example with a HttpProvider connected to Infura:
const provider = new Web3.providers.HttpProvider(
`https://${network}.infura.io/v3/${process.env.INFURA_API_KEY}`
)
const signer = web3.eth.accounts.privateKeyToAccount(
process.env.SIGNER_PRIVATE_KEY
);
const config: EthereumRevocationRegistryControllerConfig = {
provider: provider,
signer: signer
}
const controller = new EthereumRevocationRegistryController(config);
Now you're ready to interact with your revocation lists/keys!
Development
Test Suite
To start the test suite, you can call:
npm run test
To get a coverage report you need to run:
npm run test:coverage