hyperweb-io / hyperweb-io/ts-codegen
bug: ts-codegen fails to generate correct bindings
- Langage dominant
- TypeScript
- Étoiles
- 126
- Forks
- 31
- Merge moyen
- 19 min
- PR mergées (30 j)
- 2
Description
### What is happening
Cw3 Fixed Multisig has `Vote` as both an `ExecuteMsg` and a `QueryMsg`:
* https://github.com/CosmWasm/cw-plus/blob/main/contracts/cw3-fixed-multisig/src/msg.rs#L29-L32
* https://github.com/CosmWasm/cw-plus/blob/main/contracts/cw3-fixed-multisig/src/msg.rs#L59-L60
When you generate the TS bindings for the Cw3 contract:
```
cosmwasm-ts-codegen
? [cmd] what do you want to do? generate
? [schema] which directory contains the the Rust contracts? ./schema
? [out] where is the output directory? ./ts
? [name] contract name? Cw3FixedMultisig
? [plugin] which plugins? client, message-composer
? [bundle] enable bundle? No
```
It ends up generating the bindings where the `vote` property on `Cw3FixedMultisigReadOnlyInterface` gets overridden by the `vote` property on `Cw3FixedMultisigInterface` 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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Start by running cosmwasm-ts-codegen with the Cw3 Fixed Multisig schema and the client and message-composer plugins, then inspect the generated Cw3FixedMultisigReadOnlyInterface and Cw3FixedMultisigInterface. Confirm that the ExecuteMsg and QueryMsg Vote definitions remain usable without one vote property overriding the other, and add coverage for this schema edge case if the project’s test location is identified.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust, typescript
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100