Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@getsafle/vault-velas-controller

getsafle21MIT1.3.1

Velas controller for safle vault.

velas, keyring

readme

Vault-velas-controller

npm version Static Badge Discussions Static Badge

A Module written in javascript for managing various keyrings of Velas accounts, encrypting them, and using them.

Installation

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

Initialize the Velas Controller class

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

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

Restore a keyring with the first account using a mnemonic

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

Add a new account to the keyring object

const keyringState = await velasController.addNewAccount(keyringObject);

Export the private key of an address present in the keyring

const privateKey = await velasController.exportAccount(address);

Sign a transaction

const signedTx = await velasController.signTransaction(velasTx, _fromAddress);

Sign a message

const signedMsg = await velasController.signMessage(msgParams);

Sign a message

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

Sign Typed Data (EIP-712)

const signedData = await velasController.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 | 111 - TESTNET, 106 - MAINNET
}

Get balance

const balance = await getBalance(address, web3);

changelog

1.0.0 (2022-01-10)

Velas Keyring Implementation
  • Implemented Keyring functionality to enable account generation, export keys and signing methods

1.0.1 (2022-01-21)

Implement import wallet functionality
  • Added importWallet() to import account using privateKey.

1.1.0 (2022-02-16)

Implement get balance functionality
  • Added getBalance() to fetch the balance in native currency.

1.2.0 (2022-03-05)

Implement sign functionality
  • Added sign() to sign a message or transaction and get signature along with v,r,s.

1.3.0 (2023-07-04)

  • Node issue fix
  • updated branch in CI pipeline
  • Updating importWallet() and adding test suite for velas controller
  • Adding badges for Readme.md
  • Added coverage report files in gitignore

1.3.1 (2023-11-30)

  • Updated gasFee() method for type 1 transactions and added its test.
  • Changed license to MIT.