Skip to content

DigiByte-Core/Payment-Encoder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Payment-Encoder

Build Status Coverage Status npm version npm version

js-standard-style

Payment-Encoder provides the encode/decode functions between a DigiAsset payment Object to buffer

Installation

$ npm install digiasset-payment-encoder

Encode

Params:

  • paymentObject - A standard DigiAsset payment object with the following properties:
{
  // Skip input after reading asset
  skip: "Boolean"

  // Range or fixed value output
  range: "Boolean"

  // percent or fixed amount
  percent: "Boolean"

  // Output to send asset to - max value is 15 if range is false and 8191 if true
  output: "Number"

  // Total amount of units to send
  amountOfUnits: "Number"
}

Returns a new Buffer holding the encoded payment.

Example:
var paymentEncode = require('digiasset-payment-encoder')
var paymentObject = {
    skip: false,
    range: false,
    percent: true,
    output: 1,
    amountOfUnits: 321321321
}

var code = paymentEncode.encode(paymentObject)

console.log(code) // Will print: <Buffer 21 80 99 37 cb 48>

Decode

Params:

  • consume - takes a consumable buffer (You can use buffer-consumer like in the example to create one)

Returns a DigiAsset payment Object

Example:
var paymentEncode = require('digiasset-payment-encoder')
var consumer = require('buffer-consumer')

var decode = paymentEncode.decode(consumer(code))
var codeBuffer = new Buffer([0x82,0x76,0x0e,0x1b,0x48])

console.log(paymentEncode.decode(consumer(codeBuffer)))
// Will print:
// {
//  skip: false,
//  range: false,
//  percent: true,
//  output: 1,
//  amountOfUnits: 321321321
//  }

Testing

In order to test you need to install mocha globaly on your machine

$ cd /"module-path"/digiasset-payment-Encoder
$ mocha

License

Apache-2.0

About

Encode/Decode DigiAssets payment object from and into buffer

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%