@publicmint/widget-sdk

SDK for the Public Mint Widget.

Usage no npm install needed!

<script type="module">
  import publicmintWidgetSdk from 'https://cdn.skypack.dev/@publicmint/widget-sdk';
</script>

README

@publicmint/widget-sdk

SDK for the Public Mint widget.

Table of contents:

Installation

Using npm:

npm install @publicmint/widget-sdk

Using yarn:

yarn add @publicmint/widget-sdk

Usage

See the documentation for information on how to use this SDK.

Usage

Initialization

Initialize the SDK by creating an instance of the PmintWidgetSdk class:

import PmintWidgetSdk from '@publicmint/widget-sdk';

const pmint = new PmintWidgetSdk();

Widgets

Deposit widget

To show the deposit widget, call the renderAddFunds method. This method returns a promise that resolves with either completed or canceled.

const status = await pmint.renderAddFunds({
  blockchain: 'publicmint',
  destinationAddress: address,
  locale: 'en'
});

Withdraw widget

To show the withdraw widget, call the renderWithdraw method. This method returns a promise that resolves with either completed or canceled.

import { withdraw } from '@publicmint/widget-sdk';
import PublicMintWeb3 from '@publicmint/publicmint-web3';

const status = await pmint.renderWithdraw({
  blockchain: 'publicmint',
  burn: options => {
    // Perform the blockchain operation.
    // When using the public mint blockchain use our `withdraw` utility:
    const web3 = new PublicMintWeb3();
    return withdraw(web3, { ...options, privateKey });
  },
  locale: 'en',
  originAddress: address
})

Account widget

To show the account widget, call the renderAccount method.

await pmint.renderAccount({ locale: 'en' });

Handling user sessions

There are three events that you can listen to to be notified of user sessions: login, logout and userUpdate:

// Listen to login events.
pmint.addListener('login', user => {
});

// Listen to logout events.
pmint.addListener('logout', () => {
});

// Listen to updates to the user profile.
pmint.removeListener('userUpdate', user => {
});

To check if there is a user logged in and get the user's profile, call the getUser method:

const user = await pmint.getUser();

To terminate the user's session, call the logout method:

await pmint.logout();