# Class HandCashWallet

#### Hierarchy

- HandCashWallet

#### Implements

- EncryptablePaymailWallet

- Defined in wallets/handcash-wallet.ts:25

#####
Index

### Constructors

constructor

### Properties

account
connect
encryptionPrivateKey
encryptionPublicKey
paymail
paymailClient
txDataProvider

### Methods

authenticate
authenticationGuard
decrypt
encrypt
fetchEncryptionKeyPair
getChangeOutputScript
getPaymail
getPaymailPublicKey
getSpendableBalance
isAuthenticated
sendToBitcoinAddress
sign
verify

## Constructors

### constructor

- new HandCashWallet(options: HandCashBuilderOptions): HandCashWallet

- #### Parameters

  - ##### options: HandCashBuilderOptions

  #### Returns HandCashWallet

  - Defined in wallets/handcash-wallet.ts:35

## Properties

### account

account: HandCashCloudAccount

- Defined in wallets/handcash-wallet.ts:27

### connect

connect: HandCashConnect

- Defined in wallets/handcash-wallet.ts:28

### `Optional` encryptionPrivateKey

encryptionPrivateKey?: PrivateKey

- Defined in wallets/handcash-wallet.ts:31

### `Optional` encryptionPublicKey

encryptionPublicKey?: PublicKey

- Defined in wallets/handcash-wallet.ts:30

### `Optional` paymail

paymail?: string

- Defined in wallets/handcash-wallet.ts:29

### paymailClient

paymailClient: any = ...

- Defined in wallets/handcash-wallet.ts:26

### `Private` txDataProvider

txDataProvider: TxDataProvider = ...

- Defined in wallets/handcash-wallet.ts:33

## Methods

### authenticate

- authenticate(options?: HandCashAuthenticationOptions): Promise<void>

- #### Parameters

  - ##### `Optional` options: HandCashAuthenticationOptions

  #### Returns Promise<void>

  Implementation of Polywallet.EncryptablePaymailWallet.authenticate

  - Defined in wallets/handcash-wallet.ts:91

### `Private` authenticationGuard

- authenticationGuard(method: string): void

- #### Parameters

  - ##### method: string

  #### Returns void

  - Defined in wallets/handcash-wallet.ts:215

### decrypt

- decrypt(cipherText: Uint8Array): Promise<Uint8Array>

- #### Parameters

  - ##### cipherText: Uint8Array

  #### Returns Promise<Uint8Array>

  Implementation of Polywallet.EncryptablePaymailWallet.decrypt

  - Defined in wallets/handcash-wallet.ts:152

### encrypt

- encrypt(plainText: Uint8Array): Promise<Uint8Array>

- #### Parameters

  - ##### plainText: Uint8Array

  #### Returns Promise<Uint8Array>

  Implementation of Polywallet.EncryptablePaymailWallet.encrypt

  - Defined in wallets/handcash-wallet.ts:137

### `Private` fetchEncryptionKeyPair

- fetchEncryptionKeyPair(): Promise<void>

- #### Returns Promise<void>

  - Defined in wallets/handcash-wallet.ts:223

### getChangeOutputScript

- getChangeOutputScript(): Promise<Uint8Array>

- To grab the Bitcoin address, we have

  #### Returns Promise<Uint8Array>

  Implementation of Polywallet.EncryptablePaymailWallet.getChangeOutputScript

  - Defined in wallets/handcash-wallet.ts:52

### getPaymail

- getPaymail(): Promise<string>

- #### Returns Promise<string>

  Implementation of Polywallet.EncryptablePaymailWallet.getPaymail

  - Defined in wallets/handcash-wallet.ts:203

### `Private` getPaymailPublicKey

- getPaymailPublicKey(): Promise<PublicKey>

- #### Returns Promise<PublicKey>

  - Defined in wallets/handcash-wallet.ts:230

### getSpendableBalance

- getSpendableBalance(): Promise<number>

- #### Returns Promise<number>

  Implementation of Polywallet.EncryptablePaymailWallet.getSpendableBalance

  - Defined in wallets/handcash-wallet.ts:195

### isAuthenticated

- isAuthenticated(): Promise<boolean>

- #### Returns Promise<boolean>

  Implementation of Polywallet.EncryptablePaymailWallet.isAuthenticated

  - Defined in wallets/handcash-wallet.ts:78

### sendToBitcoinAddress

- sendToBitcoinAddress(destinationAddress: string, amountSatoshis: number): Promise<Utxo>

- #### Parameters

  - ##### destinationAddress: string

  - ##### amountSatoshis: number

  #### Returns Promise<Utxo>

  Implementation of Polywallet.EncryptablePaymailWallet.sendToBitcoinAddress

  - Defined in wallets/handcash-wallet.ts:165

### sign

- sign(data: Uint8Array): Promise<ISignaturePair>

- #### Parameters

  - ##### data: Uint8Array

  #### Returns Promise<ISignaturePair>

  Implementation of Polywallet.EncryptablePaymailWallet.sign

  - Defined in wallets/handcash-wallet.ts:110

### verify

- verify(message: Uint8Array, signature: Uint8Array): Promise<boolean>

- #### Parameters

  - ##### message: Uint8Array

  - ##### signature: Uint8Array

  #### Returns Promise<boolean>

  Implementation of Polywallet.EncryptablePaymailWallet.verify

  - Defined in wallets/handcash-wallet.ts:132

Generated using TypeDoc