mtcute/packages/wasm
2024-09-07 21:55:41 +00:00
..
lib chore: put wasm blob to root of the package 2024-03-07 05:35:37 +03:00
src build: added jsr building 2024-08-27 22:17:01 +03:00
tests build: build with vite (initial) 2024-08-24 22:55:25 +03:00
.gitignore feat: wasm! 🚀 2023-11-04 06:44:18 +03:00
build.config.js build: added jsr building 2024-08-27 22:17:01 +03:00
package.json v0.16.9 2024-09-07 21:55:41 +00:00
README.md chore: migrate to antfu eslint config (+ reformat) 2024-08-18 07:18:13 +03:00
tsconfig.json build: build with vite (initial) 2024-08-24 22:55:25 +03:00
typedoc.cjs chore: moved most configs to .config 2023-11-13 13:28:11 +03:00

@mtcute/wasm

📖 API Reference

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

Features

  • 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

Acknowledgements

  • 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

Benchmarks

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