How to export function and error signatures from your smart contract