A fork of @parity/schnorrkel-js that allows proper operation against all the environments that the @polkadot/api
supports. Changes from the base repo -
- WASM initialisation is done async, via Promise (this allows for clear operation in webpack environments without additional workers)
- WASM outputs are optimised via
wasm-opt
from the binaryen project - Output bundle is wrapped with camelCase names (not including the
__***
internal functions) - Full named functions and parameter TypeScript definitions
- Requires for crypto is wrapped, removing "on-demand-require" warnings in webpack environment
- WASM output is done via a base-64 encoded string, supporting both Node.js and browser environments
- Extensive code cleanups and addition of functions required for all sr25519 operations
- Extended tests to cover Rust, wasm (via Node) and wasm (via jest), remove (here unused) www interfaces
- TextDecoder is polyfilled by using the version from
@polkadot/util
(consistent support, alos on React Native) - Polyfill for crypto functions that are not available in some environments (e.g. Jest & React Native)
- Build can be done via
./build.sh
- Tests can be done via
./test.sh
Support asm.js for environments (like React Native) that doesn't have WASM support. Initial attempts made at this, but not active.