vault-bevm-controller
v1.0.0
Published
BEVM controller for safle vault
Downloads
3
Readme
vault-bevm-controller
A Module written in javascript for managing various keyrings of BEVM accounts, encrypting them, and using them. This repository contains BEVMHdKeyring
class to create BEVM wallet from Safle Vault.
Installation
npm install --save @getsafle/vault-bevm-controller
Initialize the BEVM Controller class
const { KeyringController, getBalance } = require('@getsafle/vault-bevm-controller');
const bevmController = 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 bevmController.createNewVaultAndKeychain(password);
Restore a keyring with the first account using a mnemonic
const keyringState = await bevmController.createNewVaultAndRestore(password, mnemonic);
Add a new account to the keyring object
const keyringState = await bevmController.addNewAccount(keyringObject);
Export the private key of an address present in the keyring
const privateKey = await bevmController.exportAccount(address);
Sign a transaction
const signedTx = await bevmController.signTransaction(bevmTx, _fromAddress);
Sign a message
const signedMsg = await bevmController.signMessage(msgParams);
Sign a message
const signedObj = await bevmController.sign(msgParams, pvtKey, web3Obj);
Sign Typed Data (EIP-712)
const signedData = await bevmController.signTypedMessage(msgParams);
Get balance
const balance = await bevmController.getBalance(address, web3);
Send Transaction
const receipt = await bevmController.sendTransaction(signedTx, web3);
Calculate Tx Fees
const fees = await bevmController.getFees(rawTx, web3);