@getsafle/vault-harmony-controller

1.2.0 • Public • Published

vault-harmony-controller

Install

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

Initialize the Harmony Controller class

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

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

Restore a keyring with the first account using a mnemonic

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

Add a new account to the keyring object

const keyringState = await harmonyController.addNewAccount(keyringObject);

Export the private key of an address present in the keyring

const privateKey = await harmonyController.exportAccount(address);

Sign a transaction

const signedTx = await harmonyController.signTransaction(harmonyTx, _fromAddress);

Sign a message

const signedMsg = await harmonyController.signMessage(msgParams);

Sign a message

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

Sign Typed Data (EIP-712)

const signedData = await harmonyController.signTypedMessage(msgParams);

Raw transaction object

rawTx: {
  to, // receiver address
  from, // sender address
  value, // amount to send
  gas, // gas Limit of transaction
  gasPrice, // gasPrice
  data, // data in hex to send
  nonce, // transaction nonce
  chainId, // chainID | 1666700000 - TESTNET, 1666600000 - MAINNET
}

Get balance

const balance = await getBalance(address, web3);

Readme

Keywords

Package Sidebar

Install

npm i @getsafle/vault-harmony-controller

Weekly Downloads

4

Version

1.2.0

License

ISC

Unpacked Size

130 kB

Total Files

10

Last publish

Collaborators

  • subhanshugupta
  • apoorv31
  • shubham.3008
  • sidth