#command-line-utilities #twasm

no-std bin+lib twasm-utils

Collection of command-line utilities and corresponding Rust api for producing twasm-compatible executables

Show the crate…

3 releases (breaking)

0.17.0 Feb 11, 2021
0.16.0 Mar 14, 2021
0.6.1 Feb 21, 2021

#159 in #command-line-utilities

Download history 14/week @ 2024-01-04 39/week @ 2024-01-11 9/week @ 2024-01-18 3/week @ 2024-01-25 4/week @ 2024-02-01 18/week @ 2024-02-08 27/week @ 2024-02-15 45/week @ 2024-02-22 46/week @ 2024-02-29 41/week @ 2024-03-07 27/week @ 2024-03-14 38/week @ 2024-03-21 96/week @ 2024-03-28 52/week @ 2024-04-04 27/week @ 2024-04-11 20/week @ 2024-04-18

196 downloads per month
Used in 43 crates (4 directly)

MIT/Apache

200KB
5K SLoC

twasm-utils

Build Status

A collection of WASM utilities used in twasm-vapory and tetcore contract development.

This repository contains the package twasm-utils which consists of a library crate and a collection of cli binaries that make use of this library.

Installation of cli tools

cargo install twasm-utils --features cli

This will install the following binaries:

  • wasm-build
  • wasm-check
  • wasm-ext
  • wasm-gas
  • wasm-pack
  • wasm-prune
  • wasm-stack-height

Symbols pruning (wasm-prune)

wasm-prune <input_wasm_binary.wasm> <output_wasm_binary.wasm>

This will optimize WASM symbols tree to leave only those elements that are used by contract call function entry.

Gas counter (wasm-gas)

For development puposes, raw WASM contract can be injected with gas counters (the same way as it done by twasm-vapory/tetcore runtime when running contracts)

wasm-gas <input_wasm_binary.wasm> <output_wasm_binary.wasm>

License

wasm-utils is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), at your choice.

See LICENSE-APACHE, and LICENSE-MIT for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in wasm-utils by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.4–8.5MB
~64K SLoC