2.1.0 • Published 1 year ago

bolt09 v2.1.0

Weekly downloads
341
License
MIT
Repository
github
Last release
1 year ago

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
2.1.0

1 year ago

2.0.0

2 years ago

1.0.0

2 years ago

0.2.5

2 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.1

3 years ago

0.2.2

3 years ago

0.2.0

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago