@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

/@vocdoni/data-models/

    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