getsafle / vault-rootstock-controller

Rootstock controller for safle vault
0 stars 0 forks source link

vault-rootstock-controller

npm version Static Badge Discussions

Static Badge

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

Installation

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

Initialize the rootstock Controller class

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

const rootstockController = 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 rootstockController.createNewVaultAndKeychain(password);

Restore a keyring with the first account using a mnemonic

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

Add a new account to the keyring object

const keyringState = await rootstockController.addNewAccount(keyringObject);

Export the private key of an address present in the keyring

const privateKey = await rootstockController.exportAccount(address);

Sign a transaction

const signedTx = await rootstockController.signTransaction(rootstockTx, _fromAddress);

Sign a message

const signedMsg = await rootstockController.signMessage(msgParams);

Sign a message

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

Sign Typed Data (EIP-712)

const signedData = await rootstockController.signTypedMessage(msgParams);

Get balance

const balance = await rootstockController.getBalance(address, web3);

Send Transaction

const receipt = await rootstockController.sendTransaction(signedTx, web3);

Calculate Tx Fees

const fees = await rootstockController.getFees(rawTx, web3);