Thanks to visit codestin.com
Credit goes to lib.rs

#pwasm #contract #wasm

no-std bin+lib pwasm-utils

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

33 releases (18 breaking)

0.19.0 Jan 17, 2022
0.18.2 Sep 7, 2021
0.18.1 Jun 10, 2021
0.17.0 Dec 12, 2020
0.1.4 Mar 27, 2018

#3 in #pwasm

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

16,560 downloads per month
Used in 41 crates (9 directly)

MIT/Apache

200KB
5.5K SLoC

pwasm-utils

⚠️ This repository/crate is deprecated and unmaintained: Switch to wasm-instrument in order to use wasm instrumentation (gas metering, stack height limiter) in your project. For wasm code optimization binaryen should be used.

A collection of WASM utilities used in pwasm-ethereum and substrate contract development.

This repository contains the package pwasm-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 pwasm-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 purposes, a raw WASM contract can be injected with gas counters (the same way as it done in the pwasm-ethereum/substrate 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–8MB
~60K SLoC