Package Exports
- @ethereum-waffle/ens
- @ethereum-waffle/ens/dist/cjs/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ethereum-waffle/ens) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

@ethereum-waffle/ens
A simple ENS for testing.
Installation
In the current version of waffle (v2.x.x) you will install this package as a dependency of the main waffle package - ethereum-waffle.
yarn add --dev ethereum-waffle
npm install --save-dev ethereum-waffleIf you want to use this package directly, please install it via:
yarn add --dev @ethereum-waffle/ens
npm install --save-dev @ethereum-waffle/ensFeature overview
NOTE: You do not need to use this package directly. You can install it through the main package (ethereum-waffle) and use it instead.
ENS
The ENS class allows to create ENS domains for testing.
It will deploy ENS smart contracts system to your test node.
To create ENS, you should submit your wallet, available in MockProvider class in package @ethereum-waffle/provider.
You can read more about ENS in the ENS's documentation.
Examples:
Creating ENS:
import {MockProvider} from '@ethereum-waffle/provider';
import {deployENS, ENS} from '@ethereum-waffle/ens';
const provider = new MockProvider();
const [wallet] = provider.getWallets();
const ens: ENS = await deployENS(wallet);Usage
Use createTopLevelDomain function to create a top level domain:
await ens.createTopLevelDomain('test');Use createSubDomain function for creating a sub domain:
await ens.createSubDomain('ethworks.test');Also, it's possible to create a sub domain recursively, if the top domain doesn't exist, by specifying the appropriate option:
await ens.createSubDomain('ethworks.tld', {recursive: true});Use setAddress function for setting address for the domain:
await ens.setAddress('vlad.ethworks.test', '0x001...03');Also, it's possible to set an address for the domain recursively, if the domain doesn't exist, by specifying the appropriate option:
await ens.setAddress('vlad.ethworks.tld', '0x001...03', {recursive: true});Use setAddressWithReverse function for setting address for the domain and make this domain reverse. Add recursive option if the domain doesn't exist:
await ens.setAddressWithReverse('vlad.ethworks.tld', wallet, {recursive: true});