0.2.0 • Published 2 years ago

@octalmage/terra-cosmwasm-typescript-gen v0.2.0

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
github
Last release
2 years ago

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 git@github.com: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 git@github.com: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",
);