# splinterlands-web3-wallets

> Library for different Web3 wallets used within the Splinterverse

Latest version **1.0.17** (published 2022-12-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install splinterlands-web3-wallets
pnpm add splinterlands-web3-wallets
yarn add splinterlands-web3-wallets
bun add splinterlands-web3-wallets
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.17 |
| Published | 2022-12-11 |
| First published | 2022-07-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 491.8 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | reichert-splinterlands |
| Maintainers | durango, reichert-sl |
| Keywords | blockchain, wallet |

## Links

- npm: https://www.npmjs.com/package/splinterlands-web3-wallets
- Repository: https://github.com/steem-monsters/web3-wallets
- Homepage: https://github.com/steem-monsters/web3-wallets#readme
- Issues: https://github.com/steem-monsters/web3-wallets/issues
- npm.io page: https://npm.io/package/splinterlands-web3-wallets

## Dependencies (4)

- [uuid](https://npm.io/package/uuid.md) ^8.3.2
- [web3](https://npm.io/package/web3.md) ^1.7.5
- [hivesigner](https://npm.io/package/hivesigner.md) ^3.2.8
- [@scatterjs/core](https://npm.io/package/@scatterjs/core.md) ^2.7.54

## Recent versions

- 1.0.17 (latest) — 2022-12-11
- 1.0.16 — 2022-09-15
- 1.0.15 — 2022-09-13
- 1.0.14 — 2022-09-13
- 1.0.13 — 2022-08-30
- 1.0.12 — 2022-08-30
- 1.0.11 — 2022-08-11
- 1.0.10 — 2022-08-09
- 1.0.9 — 2022-08-09
- 1.0.8 — 2022-08-09
- 1.0.7 — 2022-07-25
- 1.0.6 — 2022-07-12
- 1.0.5 — 2022-07-12
- 1.0.4 — 2022-07-09
- 1.0.3 — 2022-07-09
- … 3 more at https://npm.io/package/splinterlands-web3-wallets/versions

## README

Library for different Web3 wallets used within the Splinterverse

```
import { EVMm, Keychain } from 'splinterlands-web3-wallets'

const main = async () => {
    const keychain = new Keychain();

    /**
     * Initially keychain.state is 'none'
     * You can either run the function below manually (make sure extension has be loaded within the website, could take a second or so)
     * Or it will be run when you run keychain.call, keychain.requestSignBuffer, etc.
     *
     * Explanation:
     * none => not installed
     * installed => installed but not enabled
     * enabled => ready to go
     */
    await keychain.getState();

    const result = await keychain.requestSign({
        // address: 'wolf', // optional - if not set, user can choose
        role: 'Posting',
        message: 'Super secret message',
        title: 'Please sign this message so we can authenticate your account',
    });

    if (result.status === 'cancel') {
        console.log('User cancelled the request. You can ignore this and just start over.');
        return;
    } else if (result.status === 'error') {
        console.log('There was an error');
        if (result.state === 'none') {
            console.log(`User has not installed Keychain or hasn't used it before.`);
        } else if (result.state === 'installed') {
            console.log(`User has installed Keychain and used it before, but it seems to be disabled for this website. Remind user to enable again.`);
        } else {
            console.log(`Message: ${result.message}`, result.data);
        }
        return;
    } else {
        console.log('Success!', result.data);
    }

    const evm = new EVM();
    const result2 = await evm.requestAddress();
    if (result2.status === 'cancel') {
        console.log('User cancelled the request. You can ignore this and just start over.');
    } else if (result2.status === 'error') {
        if (result2.state === 'none') {
            console.log(`User has not installed EVM Wallet or hasn't used it before.`);
        } else if (result2.state === 'installed') {
            console.log(`User has installed EVM Wallet and used it before, but it seems to be disabled for this website. Remind user to enable again.`);
        }
    } else {
        console.log('Success!', result.data);
    }
}

main()
```

---
_Source: https://npm.io/package/splinterlands-web3-wallets · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
