@vocdoni/data-models
TypeScript icon, indicating that this package has built-in type declarations

1.15.4-csp • Public • Published

@vocdoni/data-models

@vocdoni/data-models contains the data model definitions for the dvote-js library

Installation

Use npm to install @vocdoni/data-models.

npm install @vocdoni/data-models

Usage

Account Backup

import { AccountBackup } from "@vocdoni/data-models"

const wallet = Wallet.createRandom()
const originalPassphrase = Math.random().toString()
const encryptedMnemonic = AccountBackup.encryptPayload(wallet.mnemonic.phrase, originalPassphrase)

const backupBytes = AccountBackup.create({
  backupName: "Hello world",
  questionIds: [1, 2, 3],
  answers: ["Answer 1", "Answer 2", "Answer 3"],
  accountWallet: {
    encryptedMnemonic,
    authMethod: Wallet_AuthMethod.PASS,
    hdPath: wallet.mnemonic.path,
    locale: wallet.mnemonic.locale
  },
  currentPassphrase: originalPassphrase
})
const decryptedPassphrase = AccountBackup.recoverPassphrase(backupBytes, ["Answer 1", "Answer 2", "Answer 3"])

Entity Metadata

import { checkValidEntityMetadata } from "@vocdoni/data-models"

checkValidEntityMetadata({})
// throws an Error

Process Metadata

import { checkValidProcessMetadata } from "@vocdoni/data-models"

checkValidProcessMetadata({})
// throws an Error

Raw transactions

import { Tx, wrapRawTransaction } from "@vocdoni/data-models"
import { BytesSignature } from "@vocdoni/signing"

const tx = Tx.encode(...)
const txBytes = tx.finish()
const signature = await BytesSignature.signTransaction(txBytes, chainId, signer)

const result = wrapRawTransaction(txBytes, signature)
// { method: "submitRawTx", payload: "base64..."}

Testing

To execute library tests just run

npm run test

Readme

Keywords

none

Package Sidebar

Install

npm i @vocdoni/data-models

Weekly Downloads

4

Version

1.15.4-csp

License

GPL-3.0-or-later

Unpacked Size

979 kB

Total Files

59

Last publish

Collaborators

  • elboletaire
  • emmdim
  • marcvelmer
  • brickpop
  • jpainan