Module @mtcute/wasm

@mtcute/wasm

📖 API Reference

Highly optimized for size & speed WASM implementation of common algorithms used in Telegram.

  • Super lightweight: Only 47 KB raw, 24 KB gzipped
  • Blazingly fast: Up to 10x faster than pure JS implementations
  • Ready to use: Implements almost all algos used in MTProto:
    • AES IGE
    • Deflate (zlib compression + gunzip)
    • SHA-1, SHA-256
  • Deflate is implemented through a modified version of libdeflate, MIT license.
    • Modified by kamillaova to support WASM and improve bundle size
  • AES IGE code is mostly based on tgcrypto, LGPL-3.0 license.
    • To comply with LGPL-3.0, the source code of the modified tgcrypto is available here under LGPL-3.0 license.
  • SHA1 is based on teeny-sha1
  • SHA256 is based on lekkit/sha256

See https://github.com/mtcute/benchmarks

Interfaces

MtcuteWasmModule

Type Aliases

SyncInitInput

Functions

__getWasm
createCtr256
ctr256
deflateMaxSize
freeCtr256
getWasmUrl
gunzip
ige256Decrypt
ige256Encrypt
initSync
sha1
sha256