@getsafle/vault-mantle-controller

1.0.1 • Public • Published

vault-mantle-controller

npm version Static Badge Discussions Static Badge

A Module is written in javascript for managing various keyrings of Mantle accounts, encrypting them, and using them. This repository contains MANTLEHdKeyring class to create Mantle wallet from Safle Vault.

Installation

npm install --save @getsafle/vault-mantle-controller

Initialize the Mantle Controller class

const { KeyringController, getBalance } = require('@getsafle/vault-mantle-controller');

const mantleController = new KeyringController({
  encryptor: {
    // An optional object for defining encryption schemes:
    // Defaults to Browser-native SubtleCrypto.
    encrypt(password, object) {
      return new Promise('encrypted!');
    },
    decrypt(password, encryptedString) {
      return new Promise({ foo: 'bar' });
    },
  },
});

Methods

Generate Keyring with 1 account and encrypt

const keyringState = await mantleController.createNewVaultAndKeychain(password);

Restore a keyring with the first account using a mnemonic

const keyringState = await mantleController.createNewVaultAndRestore(password, mnemonic);

Add a new account to the keyring object

const keyringState = await mantleController.addNewAccount(keyringObject);

Export the private key of an address present in the keyring

const privateKey = await mantleController.exportAccount(address);

Sign a transaction

const signedTx = await mantleController.signTransaction(mantleTx, _fromAddress);

Sign a message

const signedMsg = await mantleController.signMessage(msgParams);

Sign a message

const signedObj = await mantleController.sign(msgParams, pvtKey, web3Obj);

Get balance

const balance = await getBalance(address, web3);

Readme

Keywords

Package Sidebar

Install

npm i @getsafle/vault-mantle-controller

Weekly Downloads

3

Version

1.0.1

License

MIT

Unpacked Size

32.6 kB

Total Files

9

Last publish

Collaborators

  • subhanshugupta
  • apoorv31
  • shubham.3008
  • sidth