Open abhimanyusinghgaur opened 1 year ago
the issue is that there is a duplicate named field, this is a known issue.
There are two solutions
vote
methods, perhaps use vote
and getVote
)client.execExtendsQuery
option here — this will create two separate clients though, so you'll have to manage those a bit more.Thanks. I went ahead with option 1. Will try option 2 as well.
But, overall, as a user, my expectation is that this issue should be handled within the default implementation somehow. So that I don't have to adapt to a custom solution just to resolve this.
But, overall, as a user, my expectation is that this issue should be handled within the default implementation somehow. So that I don't have to adapt to a custom solution just to resolve this.
completely agree! I think we'd have to default to the option being the default, but many teams prefer to manage less clients. Perhaps we can look at creating scoped objects.
What is happening
Cw3 Fixed Multisig has
Vote
as both anExecuteMsg
and aQueryMsg
:When you generate the TS bindings for the Cw3 contract:
It ends up generating the bindings where the
vote
property onCw3FixedMultisigReadOnlyInterface
gets overridden by thevote
property onCw3FixedMultisigInterface
with a different syntax.Expectation
The Cw3 contract is correct.
ts-codegen
should be able to correctly handle this edge case when the names across Execute and Query msgs might conflict.