2.1.2 • Published 4 months ago

@zcloak/login-providers v2.1.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 months ago

@zcloak/login-providers

Generic transport providers to send method calls from dapp to did wallet. It provides an interface to making RPC calls and is generally implements @zcloak/login-rpc defined rpc methods.

Installation

yarn add @zcloak/login-providers

Selection

All providers has abstract BaseProvider and Events, BaseProvider accept a request function defined by @zcloak/login-rpc, the events needs to implements by each provider.

ZkidWalletProvider for zCloak ID Wallet extension, use it to call methods to extension, and can listen extension events. The request method and the events of ZkidWalletProvider is to get the zkid object injected into the window by the extension.

Usage

ZkidWalletProvider Initialization

import { ZkidWalletProvider } from '@zcloak/login-providers'

const provider = new ZkidWalletProvider();

// Check if the extension is installed before used
provider.isInstalled();

Events

All providers implements the EventEmitter API. This sections details the events emitted via that API. There are innumerable EventEmitter guides elsewhere, but you can listen for events like this:

provider.on('did_changed', (did) => {
  // Handle the new did when wallet selected did changed
  // `did` is an Object of `DidInfo`
})
provider.on('lock', (did) => {
  // Handle the wallet locked
})
provider.on('unlock', (did) => {
  // Handle the wallet unlock
})

Method by BaseProvider

Send an auth request to wallet.

await provider.requestAuth();

// get auth status
const authed: boolean = await provider.isAuth();

Get Current selected did in wallet.

const did: DidInfo = await provider.getCurrentDid();

Send a credential digest request to wallet.(Login with credential digest)

const credentialDigest = await provider.requestCredentialDigest(...args);

Send a credential content request to wallet.(Login with credential content)

const credential = await provider.requestCredentialContent(...args);

Login with did

const signature = await provider.didLogin('0x...');

Sign data use current selected did.

const signature = await provider.sign('0x...');

Encrypt and decrypt data for peer.

const encrypted = await provider.encrypt('0x...', receiver);

const decrypted = await provider.decrypt('0x...', sender);
2.1.2

4 months ago

2.1.1

7 months ago

2.1.0

8 months ago

2.0.0

9 months ago

1.2.7

12 months ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.0

1 year ago

1.1.1

1 year ago

1.0.2

1 year ago

1.1.0

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.0.3

1 year ago

1.2.0-beta.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.5.0

1 year ago

0.4.1-0

1 year ago

0.4.0

1 year ago

0.3.2-3

1 year ago

0.3.2-2

1 year ago

0.3.2-1

1 year ago

0.3.2-0

1 year ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.1-0

1 year ago

0.2.0

1 year ago

0.1.2-4

2 years ago

0.1.2-3

2 years ago

0.1.2-2

2 years ago

0.1.2-1

2 years ago

0.1.2-0

2 years ago

0.1.1

2 years ago

0.0.1-17

2 years ago

0.0.1-16

2 years ago

0.0.1-15

2 years ago

0.0.1-14

2 years ago