npm.io
1.0.1 • Published 2 years ago

@getsafle/vault-polygon-zkevm-controller

Licence
MIT
Version
1.0.1
Deps
13
Size
33 kB
Vulns
0
Weekly
0
Stars
1

vault-polygon-zkEVM-controller

npm version Static Badge Discussions Static Badge

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

Installation

npm install --save @getsafle/vault-polygon-zkEVM-controller

Initialize the Polygon-zkEVM Controller class

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

const polygon_zkevmController = 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 polygon_zkevmController.createNewVaultAndKeychain(password);
Restore a keyring with the first account using a mnemonic
const keyringState = await polygon_zkevmController.createNewVaultAndRestore(password, mnemonic);
Add a new account to the keyring object
const keyringState = await polygon_zkevmController.addNewAccount(keyringObject);
Export the private key of an address present in the keyring
const privateKey = await polygon_zkevmController.exportAccount(address);
Sign a transaction
const signedTx = await polygon_zkevmController.signTransaction(polygon-zkevmTx, privateKey);
Sign a message
const signedMsg = await polygon_zkevmController.signMessage(msgParams);
Sign a message
const signedObj = await polygon_zkevmController.sign(msgParams, pvtKey, web3Obj);
Sign Typed Data (EIP-712)
const signedData = await polygon_zkevmController.signTypedMessage(msgParams);
Get balance
const balance = await getBalance(address, web3);

Keywords