# Account Abstraction

Currently, the SDK for account abstraction interaction has been distributed separately as `@mitumjs/mitumjs-account-abstraction`. There is a possibility that it will be merged into mitumjs in the future. Until then, please use the separated sdk.

#### Classes commonly provided by `@mitumjs/mitumjs` and `@mitumjs/mitumjs-account-abstraction`:

* node
* account
* block
* util
* currency
* operation
* signer
* contract

#### Classes provided by only `@mitumjs/mitumjs`:

* nft
* timestamp
* credential
* token
* point
* dao

#### Classes (method) provided by only `@mitumjs/mitumjs-account-abstraction`:&#x20;

* **aa** : provide methods to make user operation, add altersign
* **authdid** : provide methods related to did-registry model for account abstraction
* (method) **contract.updateRicipient** : The contract account to be used as `proxy_payer` only pays the operation fee of the account registered as the recipient. Therefore, user must use this method to register as a recipient in advance.

If you want to **transfer currency using account abstraction**, **the `mitumjs-account-abstraction` SDK provides everything you need**, including the currency class.&#x20;

For NFT transfers, you'll need **both** the account abstraction classes from `mitumjs-account-abstraction` and the NFT class from the `mitumjs` SDK.

## Installation

`npm install @mitumjs/mitumjs-account-abstraction`

latest version: 1.2.2
