Alexander Theißen 1f8e6dd5b2 Don't generate duplicate thunks
Previously, functions that appear in multiple places
(exported, start function, table) would generate a thunk
for each place they appear in. Those additional thunks are
identical and only only one of them would be referenced.
Main offender are tables with redundant entries.

This commit eliminates those duplicate thunks without adding
any additional overhead.
2020-10-13 11:43:59 +02:00
2019-01-24 16:21:52 +03:00
2020-10-13 11:43:59 +02:00
2020-10-13 11:43:59 +02:00
2017-11-01 16:37:50 +03:00
2018-02-22 19:58:45 +03:00
2020-08-04 13:54:57 +03:00
2017-11-03 02:11:41 +03:00
2017-11-03 02:11:41 +03:00
2019-07-17 17:02:55 +03:00

wasm-utils

Build Status

Collection of WASM utilities used in pwasm-ethereum and substrate contract development

Build tools for cargo

Easiest way to use is to install via cargo install:

cargo install pwasm-utils-cli --bin wasm-build

Symbols pruning (wasm-prune)

cargo install pwasm-utils-cli --bin 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 pwasm-ethereum/substrate runtime when running contracts)

cargo install pwasm-utils-cli --bin wasm-gas
wasm-gas <input_wasm_binary.wasm> <output_wasm_binary.wasm>

API

All executables use corresponding api methods of the root crate and can be combined in other build tools.

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.

S
Description
No description provided
Readme 1.1 MiB
Languages
Rust 85.7%
WebAssembly 13.9%
Just 0.4%