![](https://files.peakd.com/file/peakd-hive/aioha/23tRvj6GYqyeZxdD8Tj7yi6tDm1SHnqxui4eicve3mEAwXeiroU5CJtXQsL5BWa6hi4mz.png) We are pleased to announce that Aioha may now be used to sign transactions through [Wax Typescript](https://gitlab.syncad.com/hive/wax/-/tree/develop/ts?ref_type=heads) library. [Wax](https://gitlab.syncad.com/hive/wax) is a next generation feature rich library for Hive. It provides a developer-friendly interface to low level hived C++ functions in Python and Typescript. # Why Aioha and Wax? By using Aioha as transaction signer, you can integrate 5 authentication providers (and more incoming) into your Wax-powered Hive app and leverage Aioha features such as: * Common interface across authentication providers * Lightweight (56 KiB uncompressed, 15 KiB gzipped main bundle) * Built-in login persistence * Account switcher * Framework specific provider and UI # Usage ```js import { createHiveChain } from '@hiveio/wax' import { initAioha, WaxAiohaSigner } from '@aioha/aioha' const aioha = initAioha() const chain = await createHiveChain() const tx = await chain.createTransaction() // push some operations here... await tx.sign(WaxAiohaSigner.for(aioha, 'active')) await chain.broadcast(tx) ``` # Caveats As of writing this, most if not all providers produce signatures using the legacy serialization method, while Wax prefers the newer method supported as of HF26 which saves 4 bytes per asset/NAI value in the transaction. In addition, Aioha primarily uses the legacy transaction JSON format (array tuple of `["operation_name", {...body}]`) while Wax primarily uses the newer JSON format of `{"type": "operation_name", value: {...body}}`. We plan to address them in the next major breaking release of Aioha. # Other changes in v1.7 * Plaintext key provider fixes: - User class variable not set upon login - dhive endpoint not changed upon calling `setApi()` * Fix user specified API not passed in when constructing transaction header to sign * Fix `signTx()` result typing * Move mostly unused JSON-RPC extensions to extras as optional import to reduce main bundle size # Bundle sizes |Bundle Name|Uncompressed Size|gzipped| |-|-|-| |bundle.js|56 KiB|15 KiB| |ledger.bundle.js|146 KiB|44 KiB| |hiveauth-aes.bundle.js|11.5 KiB|4.5 KiB| |**Total**|**214 KiB**|**64 KiB**| # Links Landing page and docs: https://aioha.dev Github: https://github.com/aioha-hive NPM: https://www.npmjs.com/package/@aioha/aioha Sting: https://chat.peakd.com/t/hive-169420/0