Based on discussion from #150 (comment)
Add pub type ContractAddr(pub HumanAddr) to cw0, with some common functions to create messages and make queries, as well as
Rename Cw4Contract to Cw4ContractAddr, and extend ContractAddr functionality. See if the refactoring simplifies the implementation. If not, we can just do the rename without adding some ContractAddr type (I am not sure if it would make anything easier).
If this simplifies things, do the same for the other helpers (cw3, cw20, cw721?).
Based on discussion from #150 (comment)
Add
pub type ContractAddr(pub HumanAddr)to cw0, with some common functions to create messages and make queries, as well asRename
Cw4ContracttoCw4ContractAddr, and extendContractAddrfunctionality. See if the refactoring simplifies the implementation. If not, we can just do the rename without adding someContractAddrtype (I am not sure if it would make anything easier).If this simplifies things, do the same for the other helpers (cw3, cw20, cw721?).