Platform: Code4rena
Start Date: 22/11/2022
End Date: 28/11/2022
Period: 6 days
Status: Completed
Pot Size: $36,500 USDC
Participants: 3
Reporter: liveactionllama
Judge: GalloDaSballo
Id: 184
League: ETH
zzzitron | 1/3 | $0.00 | 3 | 0 | 0 | 3 | 3 | Grade A | 0 | 0 |
izhuer | 2/3 | $0.00 | 2 | 2 | 2 | 0 | 0 | Grade A | 0 | 0 |
csanuragjain | 3/3 | $0.00 | 0 | 0 | 0 | 0 | 0 | Grade B | 0 | 0 |
Auditor per page
The C4audit output for the contest can be found here.
Note for C4 wardens: Anything included in the C4udit output is considered a publicly known issue and is ineligible for awards.
ENS is a decentralised naming service built on top of Ethereum, and designed to resolve a wide array of resources including blockchain addresses, decentralised content, and user profile information.
Developer documentation can be found here.
Information on existing ENS deployments can be found here.
git clone https://github.com/code-423n4/2022-11-ens cd 2022-11-ens yarn
yarn test
Note: Not all contracts in this repository are in-scope for this audit! We have included contracts from the original ens-contracts repo that are dependencies of in-scope contracts here for the convenience of auditors. Only the contracts listed below are in-scope.
This audit is a second audit intended to cover changes made to the Name Wrapper contracts subsequent to the July C4 public audit.
SLOC: 40
Contains assorted utility functions for manipulating byte strings.
SLOC: 285
An implementation of ERC1155 that only supports 1 token per token type, with the owner, fuse/flag information, and an expiration time all packed into a single storage slot for gas-efficiency. Should conform to ERC1155, with the addition of ownerOf
.
Dependencies:
SLOC: 701
A contract that wraps ENS names, providing additional functionality:
The primary reason for this wrapper is the 'fuse' functionality for revoking permissions over names; this is intended to support applications such as trustless subdomain issuance, and trustless name resolution.
For detailed documentation of the wrapper and its expected behaviour, see its dedicated README.
Dependencies:
SLOC: 113
Public interface for NameWrapper.sol
.
SLOC: 17
Mixin for a contract that can have controllers - other accounts that have access to privileged functions.
SLOC: 4
Interface for a metadata service - a contract that returns token metadata for a wrapped token.
SLOC: 19
Interface for an upgrade target for the name wrapper - a new version of the wrapper.