Registering Your Contract's Method Names
Last updated
Was this helpful?
Last updated
Was this helpful?
OneKey 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 OneKey to successfully look up the method names by their . However, sometimes you're using a method that is not in that on-chain registry, and OneKey will simply display Contract Interaction
to the user.
To add your contract's function names to this registry so it shows in the OneKey interface, follow the below steps.
Go to the
Connect OneKey
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)
Click "write"
Approve the transaction in OneKey (you only pay gas)
ethers.utils.keccak256('getOwners()') => 0xa0e67e2bdc0a6d8a09ccd6c353c9df590807ad66ff5e6630c4f31a86dfa84821
Take the first 10 characters: 0xa0e67e2b
Input them into that checks the on-chain registry
Mainnet or Rinkeby only
Set the correct compiler version based on the contract.
Use remix's write functionality to add to the registry.
eth-method-registry
Note that OneKey reads from the Mainnet eth-method-registry
endpoint, regardless of user's network.
Paste the contract code from into .
You can look at the FUNCTIONHASHES section on by loading the signature registry contract, press the "details" button on the compile tab.
You can also use the deployed on Rinkeby
is used to lookup methods in OneKey.
For more details, see .