Notable Pseudocode Mashups

    bolt09

    0.2.3 • 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

    Install

    npm i bolt09

    DownloadsWeekly Downloads

    2,031

    Version

    0.2.3

    License

    MIT

    Unpacked Size

    16.6 kB

    Total Files

    21

    Last publish

    Collaborators

    • alexbosworth