1.0.17 • Published 1 year ago

splinterlands-web3-wallets v1.0.17

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

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()
1.0.17

1 year ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago