Skip to content

getsafle/vault-bsc-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vault-bsc-controller

npm version Static Badge Discussions Static Badge

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);