# Registering Your Contract's Method Names

MetaMask uses the Parity on-chain registry of function signatures to display method names on the confirm screen. For many common method names, like token methods, this allows MetaMask to successfully look up the method names by their method signature (opens new window). However, sometimes you're using a method that is not in that on-chain registry, and MetaMask will simply display Contract Interaction to the user.

To add your contract's function names to this registry so it shows in the MetaMask interface, follow the below steps.

  1. Go to the Mainnet Parity signature registration contract on etherscan (opens new window)

  2. Connect MetaMask

  3. Use etherscan's write contract feature to input the string value (without quotes or spaces) to the register function

    For example:

    getOwners()

    execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)

  4. Click "write"

  5. Approve the transaction in MetaMask (you only pay gas)

# Verify

ethers.utils.keccak256('getOwners()') => 0xa0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821

# Using remix.ethereum.org

# Using eth-method-registry