Skip to content

Signature provider of Keeper Wallet for Signer.

Notifications You must be signed in to change notification settings

Keeper-Wallet/provider-keeper-mobile

Repository files navigation

@keeper-wallet/provider-keeper-mobile

npm

ProviderKeeperMobile implements a Signature Provider for Signer protocol library.

Installation

Install using npm:

npm install @waves/signer @keeper-wallet/provider-keeper-mobile

or yarn

yarn add @waves/signer @keeper-wallet/provider-keeper-mobile

Content Security Policy

If your dapp uses a CSP enabled server setup, you need to append Wallet Connect endpoints for the following directives:

connect-src  wss://relay.walletconnect.com https://registry.walletconnect.com;
frame-src  https://verify.walletconnect.com;

For more information and common use cases for CSP, see the MDN CSP documentation.

Usage

  • Provider with app metadata

    You can specify application metadata used to display in Keeper Wallet.

    import { ProviderKeeperMobile } from '@keeper-wallet/provider-keeper-mobile';
    
    const keeperMobile = new ProviderKeeperMobile({
      // meta: all fields are optional
      name: 'My dApp', // name of your dApp
      icon: 'https://avatars.githubusercontent.com/u/96250405', // display icon for your dApp
    });

    🛈 The recommended icon size is at least 180×180 px.

  • For Testnet:

    import { Signer } from '@waves/signer';
    import { ProviderKeeperMobile } from '@keeper-wallet/provider-keeper-mobile';
    
    const signer = new Signer({
      // Specify URL of the node on Testnet
      NODE_URL: 'https://nodes-testnet.wavesnodes.com',
    });
    const keeperMobile = new ProviderKeeperMobile();
    signer.setProvider(keeperMobile);
  • For Mainnet:

    import { Signer } from '@waves/signer';
    import { ProviderKeeperMobile } from '@keeper-wallet/provider-keeper-mobile';
    
    const signer = new Signer();
    const keeperMobile = new ProviderKeeperMobile();
    signer.setProvider(keeperMobile);

Basic example

Now your application is ready to work with Waves Platform. Let's test it by implementing basic functionality.

For example, we could try to authenticate user and transfer funds:

const user = await signer.login();
const [transfer] = await signer
  .transfer({
    recipient: '3Myqjf1D44wR8Vko4Tr5CwSzRNo2Vg9S7u7',
    amount: 100000, // equals to 0.001 WAVES
    assetId: null, // equals to WAVES
  })
  .broadcast();

Or invoke some dApp:

const [invoke] = await signer
  .invoke({
    dApp: '3Fb641A9hWy63K18KsBJwns64McmdEATgJd',
    fee: 1000000,
    payment: [
      {
        assetId: '73pu8pHFNpj9tmWuYjqnZ962tXzJvLGX86dxjZxGYhoK',
        amount: 7,
      },
    ],
    call: {
      function: 'foo',
      args: [
        { type: 'integer', value: 1 },
        { type: 'binary', value: 'base64:AAA=' },
        { type: 'string', value: 'foo' },
      ],
    },
  })
  .broadcast();

For more examples see Signer documentation.

About

Signature provider of Keeper Wallet for Signer.

Resources

Stars

Watchers

Forks

Packages

No packages published