0.1.1 • Published 11 months ago

@ngraveio/bc-ur-registry-crypto-portfolio-metadata v0.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Crypto Portfolio Metadata

This repository is the crypto portfolio metadata [NBCR-2023-002] to specify additional information about the wallet, etc.

Installing

To install, run:

yarn add @ngraveio/bc-ur-registry-crypto-portfolio-metadata
npm install --save @ngraveio/bc-ur-registry-crypto-portfolio-metadata

Examples

Note: Language code must be a valid iso-639 code.

CryptoPortfolioMetadata Construct the crypto sync metadata.

// Create sync id
const sync_id = Buffer.from('babe0000babe00112233445566778899', 'hex')

// Create metadata
const metadata = new CryptoPortfolioMetadata({ sync_id: sync_id, device: 'my-device', language_code: 'en', fw_version: '1.0.0' })

const cbor = metadata.toCBOR().toString('hex')
console.log(cbor)
// a40150babe0000babe001122334455667788990262656e0365312e302e3004696d792d646576696365

const ur = metadata.toUREncoder(1000).nextPart()
console.log(ur)
// ur:crypto-portfolio-metadata/oxadgdrdrnaeaerdrnaebycpeofygoiyktlonlaoidihjtaxihehdmdydmdyaainjnkkdpieihkoiniaihfrzmytvl

CryptoPortfolioMetadata Construct the crypto sync metadata with additional properties.

// Create sync id
const sync_id = Buffer.from('babe0000babe00112233445566778899', 'hex')

// Create metadata
const metadata = new CryptoPortfolioMetadata({
  sync_id: sync_id,
  device: 'my-device',
  language_code: 'en',
  fw_version: '1.0.0',
  string: 'hello world',
  number: 123,
  boolean: true,
  array: [1, 2, 3],
  object: { a: 1, b: 2 },
  null: null,
  date: new Date('2021-01-01T00:00:00.000Z'),
});

const cbor = metadata.toCBOR().toString('hex')
console.log(cbor)
// ab0150babe0000babe001122334455667788990262656e0365312e302e3004696d792d64657669636566737472696e676b68656c6c6f20776f726c64666e756d626572187b67626f6f6c65616ef565617272617983010203666f626a656374a2616101616202646e756c6cf66464617465c07818323032312d30312d30315430303a30303a30302e3030305a

const ur = metadata.toUREncoder(1000).nextPart()
console.log(ur)

CryptoPortfolioMetadata Decode crypto sync metadata.

// read ur
const ur = metadata.toUREncoder(1000).nextPart()

// decoded ur
const ur = URRegistryDecoder.decode(urData)

// get the class from the cbor data
const cryptoPortfolioMetadata = CryptoPortfolioMetadata.fromCBOR(ur.cbor)

// read its properties
cryptoPortfolioMetadata.getSyncId() // babe0000babe00112233445566778899
cryptoPortfolioMetadata.getLanguageCode() // en
cryptoPortfolioMetadata.getDevice() // my-device
cryptoPortfolioMetadata.getFirmwareVersion() // 1.0.0