0.1.19 • Published 1 year ago

@orbs-network/lokey v0.1.19

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

LoKey

LoKey

LoKey is a lightweight library that leverages ethers.js to securely delegate a signer and sign messages without prompting the user for each siging operation.

Installation

To install LoKey, use npm:

npm install @orbs-network/lokey

Usage

Constructor: LoKey(opts?: { debug?: boolean })

Initialise a new instance of LoKey.

Example:

// Without debugging
const lokey = new LoKey();

// With debugging enabled
const lokey = new LoKey({ debug: true });

Inputs:

  • opts.debug (boolean, optional): Enable debug logging. Default: false

Outputs:

  • lokey: A new instance of the LoKey SDK.

setDebug(enabled: boolean)

Enable or disable debug logging at runtime.

Example:

// Enable debugging
await lokey.setDebug(true);

// Disable debugging
await lokey.setDebug(false);

Inputs:

  • enabled (boolean, required): Whether to enable debug logging

Outputs:

  • success (boolean): Whether the debug mode was set successfully.

getAddress(id: string)

Get the address of the signer.

Example:

const address = await lokey.getAddress('my-signer');

Inputs:

  • id (string, required): The id of the signer to get the address of.

Outputs:

  • address (string): The address of the signer.

createSigner(id: string)

Create a new signer.

Example:

const { address } = await lokey.createSigner('my-signer');

Inputs:

  • id (string, required): The id of the signer to create.

Outputs:

  • address (string): The hex string signer address.

sign(id: string, payload: TypedData)

Sign a message using the LoKey signer.

Example:

const signature = await lokey.sign('my-signer', payload);

Inputs:

  • id (string, required): The id of the signer to use.
  • payload (TypedData, required): Typed data according to EIP-712 standards.

Outputs:

  • signature (string): The hex encoded signature.

persistKey(id: string)

Persist the signer.

Example:

await lokey.persistKey('my-signer');

Inputs:

  • id (string, required): The id of the signer to persist.

Outputs:

  • success (boolean): Whether the key was persisted successfully.

Example

To run the included example, follow these steps:

cd example
npm install
npm run dev

This demonstrates how to integrate LoKey into a React application.

Notes

  • LoKey leverages secure browser features like Web Workers for key management.

License

LoKey is licensed under the MIT License.

0.1.19

1 year ago

0.1.18

1 year ago

0.1.17

1 year ago

0.1.16

1 year ago

0.1.15

1 year ago

0.1.14

1 year ago

0.1.13

1 year ago

0.1.12

1 year ago

0.1.11

1 year ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.1

1 year ago