1.2.4 • Published 5 months ago

@getsafle/vault-bsc-controller v1.2.4

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

vault-bsc-controller

npm version Discussions

A Module written in javascript for managing various keyrings of BSCereum accounts, encrypting them, and using them. This repository contains BSCHdKeyring class to create Binance smart chain wallet from Safle Vault.

Installation

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

Initialize the BSC Controller class

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

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

Restore a keyring with the first account using a mnemonic

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

Add a new account to the keyring object

const keyringState = await bscController.addNewAccount(keyringObject);

Export the private key of an address present in the keyring

const privateKey = await bscController.exportAccount(address);

Sign a transaction

const signedTx = await bscController.signTransaction(bscTx, _fromAddress);

Sign a message

const signedMsg = await bscController.signMessage(msgParams);

Sign a message

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

Sign Typed Data (EIP-712)

const signedData = await bscController.signTypedMessage(msgParams);

Get balance

const balance = await getBalance(address, web3);

Send Transaction

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

Calculate Tx Fees

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