bolt09

2.1.0 • Public • Published

Bolt 09

npm version Coverage Status Build Status

Utility methods for working with BOLT 09

Methods

featureFlagDetails

Feature flag details for feature flag bit

{
  bit: <Feature Flag Bit Number>
}

@throws
<Error>

@returns
{
  [type]: <Feature Flag Type String>
}

Example:

const {featureFlagDetails} = require('bolt09');

const {type} = featureFlagDetails({bit: 0});
// Type is string descriptor of feature bit

featureFlagsAsHex

Encode feature flags into hex serialized bytes

{
  features: [<Feature Bit Number>]
}

@throws
<Error>

@returns
{
  encoded: <Serialized Feature Bits Hex Encoded String>
}

Example:

const {featureFlagsAsHex} = require('bolt09');

const {encoded} = featureFlagsAsHex({features: [0]});
// Encoded is hex encoded string with a length uint16 prefix

featureFlagsAsWords

Encode feature flags into a serialized data buffer

{
  features: [<Feature Bit Number>]
}

@throws
<Error>

@returns
{
  words: [<Bech32 Word Number>]
}

Example:

const {featureFlagsAsWords} = require('bolt09');

const {words} = featureFlagsAsWords({features: [0]});
// Words are word numbers that can be used for encoding in a bolt11 payment req

featureFlagsFromHex

Feature flags from hex serialized feature flags

{
  [hex]: <Data Length Prefixed Hex Encoded String>
}

@throws
<Error>

@returns
{
  features: [{
    bit: <Feature Bit Number>
    is_required: <Feature Bit is Required Bool>
    type: <Feature Bit Type String>
  }]
}

Example:

const {featureFlagsFromHex} = require('bolt09');

const {features} = featureFlagsFromHex({hex: '00018C'});
// Features is an array of supported features

featureFlagsFromWords

Feature flags from BOLT 11 tag words

{
  words: [<BOLT11 Tag Word Number>]
}

@throws
<Error>

@returns
{
  features: [{
    bit: <Feature Bit Number>
    is_required: <Feature Bit is Required Bool>
    type: <Feature Bit Type String>
  }]
}

Example:

const {featureFlagsFromWords} = require('bolt09');

const {features} = featureFlagsFromWords({words: [16, 0]});
// Features is an array of supported features

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
2.1.02,399latest

Version History

VersionDownloads (Last 7 Days)Published
2.1.02,399
2.0.0256
1.0.02,519
0.2.5840
0.2.43
0.2.381
0.2.21
0.2.141
0.2.00
0.1.50
0.1.43
0.1.30
0.1.20
0.1.10
0.1.00
0.0.20
0.0.15

Package Sidebar

Install

npm i bolt09

Weekly Downloads

6,148

Version

2.1.0

License

MIT

Unpacked Size

18.1 kB

Total Files

21

Last publish

Collaborators

  • alexbosworth