hyperweb-io / hyperweb-io/ts-codegen

bug: ts-codegen fails to generate correct bindings

Ouverte
#91 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.