# WeaveMask Library

A library to communicate with the [WeaveMask](https://github.com/th8ta/WeaveMask) extension.

## Installation

```sh
yarn add weavemask
```

or

```sh
npm i weavemask
```

## Usage

### `isAvailable()`

Check if WeaveMask is installed or available.

### `connect(permissions)`

Connect to WeaveMask and request permissions. See the available permissions [here](#permissions).

### `getActiveAddress()`

Get the current active/used address from WeaveMask.

This requires the `ACCESS_ADDRESS`.

### `getAllAddresses()`

Get all addresses added to WeaveMask.

This requires the `ACCESS_ALL_ADDRESSES` permission.

### `getPermissions()`

Get all permissions allowed to the site.

### `createTransaction(attributes, signatureOptions?)`

Create and sign an Arweave transaction, than post it.

This requires the `CREATE_TRANSACTION` permission.

## Permissions

There are four permissions currently available. When calling `connect`, you need to specify at least one of them, preferably `ACCESS_ADDRESS`.

The permissions:

- `ACCESS_ADDRESS`:
  Access the current address selected in WeaveMask
- `ACCESS_ALL_ADDRESSES`:
  Access all addresses added to WeaveMask
- `CREATE_TRANSACTION`:
  Create a new transaction
