Make the `invoke_contract` public in `cis2client` so that custom methods can be called from cis2 contract.
dhruvja opened this issue · 3 comments
Description
With cis2client
, we can only call a handful of methods like transfer
, balanceOf
etc. But ideally we would wanna call burn
, mint
and many more. This would help users call any method from the token contract which implements cis2
. Users can use the invoke_contract
implemented by Host
but the error handling is better in cis2client
which is customized for it.
Solution
Make the invoke_contract
found in cis2client
as public.
Here:
The similar can be done for invoke_contract_read_only
method as well.
Well we can always implement the conversion by ourselves, but its a feature thats good to have.
I don't think it's right to make this public since invoking other methods does not have anything to do with cis2.
However if I read your feedback more broadly, it would make sense to add a method to HasHost that automatically parses the response into a type you provide instead of returning the raw return value.
This seems like it would accomplish what you want, right?
oh yes indeed. Yes thats what i would love to achieve. Looking at cis2 invoke contract, i was able to do the same. But having it done by invoke_contract
would be ideal. Thanks