This is a plugin for the Ethereum application which helps parsing and displaying relevant information when signing a ENS smart contract.
To setup the working environment follow the steps on ledger guide.
Need more information about the interface, the architecture, or general stuff about ethereum plugins? You can find more about them in the ethereum-app documentation.
Smart contracts covered by this plugin are:
Function |
Selector |
Displayed Parameters |
commit |
0xf14fcbc8 |
bytes32 commitment |
register |
0x85f6d155 |
string name | address owner | uint256 duration | bytes32 secret | |
registerWithConfig |
0xf7a16963 |
string name | address owner | bytes32 secret | address resolver | address addr | |
renew |
0xacf1a841 |
string name | uint256 duration | |
setName |
0xc47f0027 |
string name |
renewAll* |
0xe8d6dbb4 |
string names | uint256 duration | bytes proof | |
proveAndClaim* |
0x8bbedf75 |
bytes names | uint256 #inputs | bytes proof | |
proveAndClaimWithResolver* |
0x224199c2 |
bytes names | uint256 #inputs | bytes proof | address resolver | address addr | |
setOwner |
0x5b0fc9c3 |
bytes32 node | address owner | |
setResolver |
0x1896f70a |
bytes32 node | address resolver | |
SetSubnodeRecord |
0x5ef2c7f0 |
bytes32 node | bytes32 label | address owner | address resolver | uint256 ttl | |
SetAddr* |
0x8b95dd71 |
</td bytes32 node | uint256 coinType | bytes a | |
SetText* |
0x10f13a8c |
bytes32 node | string Key | string Value | |
SetContentHash* |
0x304e6ade |
|
Multicall* |
0xac9650d8 |
|
*For renewAll, ENS plugin will only support signing transactions with 3 names maximum.
For multicall, ENS plugin will only support signing transactions with 4 calls maximum.
For strings and byte arrays bigger then 32, plugin is showing the first and last 16 bytes in "16...16" format, due to memory limitations.
To build the plugin, go back to your docker setup. Open a new terminal window, and in the plugin_dev/ folder, run
sudo docker run --rm -ti -v "$(realpath .):/app" --user $(id -u $USER):$(id -g $USER) ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest.
In the container, go to the plugin repository, then to the tests/ folder.
cd app-plugin-boilerplate/tests
./build_local_test_elfs.sh.
To test the plugin go to the tests folder from the "app-plugin-ens" and run the script "test"
cd app-plugin-ens/tests # go to the tests folder in app-plugin-ens
yarn test # run the script test