@octalmage/terra-cosmwasm-typescript-gen
v0.2.0
Published
A TypeScript Transpiler for CosmWasm Smart Contracts on Terra
Downloads
11
Readme
cosmwasm-typescript-gen
A Transpiler for CosmWasm Smart Contracts
npm install -g cosmwasm-typescript-gen
usage
cosmwasm-typescript-gen generate \
--schema ./schema \
--out ./src \
--name MyContractName
example
git clone [email protected]:public-awesome/stargaze-contracts.git
cd stargaze-contracts/contracts/sg721/
cosmwasm-typescript-gen generate --schema ./schema --out ./ts --name SG721
JSON Schema Generation
Currently you have to have the JSON Schema output. Here is an example to start:
## get the Rust contracts
git clone [email protected]:public-awesome/stargaze-contracts.git
cd stargaze-contracts
cargo build
## now build the schema
cd contracts/sg721/
cargo schema
Example Output
cosmwasm-typescript-gen generate
https://gist.github.com/pyramation/ba67ec56e4e2a39cadea55430f9993e5
cosmwasm-typescript-gen from-partial
https://gist.github.com/pyramation/f50869d1ecdb6d6ced2bc0a44c6ff492
cosmwasm-typescript-gen react-query
https://gist.github.com/pyramation/a3bf4aa7b60a31287d0720ca1bb5473b
cosmwasm-typescript-gen recoil
https://gist.github.com/pyramation/48b28a75def1a16b233b369297f05f0e
Exporting Schemas
cosmwasm_std
Examples
use cosmwasm_std::{Addr, CosmosMsg, Empty};
export_schema_with_title(&schema_for!(MinterData), &out_dir, "MinterResponse");
export_schema_with_title(&schema_for!(Addr), &out_dir, "StakingResponse");
export_schema_with_title(&schema_for!(Addr), &out_dir, "DaoResponse");
export_schema_with_title(
&schema_for!(CosmosMsg<Empty>),
&out_dir,
"CosmosMsg_for_Empty",
);