contract_methods defines impl for the contract struct.
Methods declared in the impl are callable by Transaction Command Call if their visibility is pub.
use_contract provides smart contract developers a way to make cross contract calls by using
public functions from other smart contracts in the form of traits.