@getsafle/vault-rootstock-controller
v1.0.0
Published
rootstock controller for safle vault
Downloads
24
Keywords
Readme
vault-rootstock-controller
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);