Provides the encode/decode functions between a Colored Coins burn-transaction payment object to buffer
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
LICENSE
README.md
package.json
paymentEncoder.js

README.md

Burn-Payment-Encoder

Build Status Coverage Status npm version
Slack Status

Standard - JavaScript Style Guide

Payment-Encoder provides the encode/decode functions between a Colored Coins burn-transaction payment Object to buffer

Installation

$ npm install cc-burn-payment-encoder

Encode

Params:

paymentObject - A standard Colored Coins payment object with the following properties:

{
  // Skip input after reading asset
  skip: "Boolean"

  // Range or fixed value output (valid only if burn is false or undefined)
  range: "Boolean"

  // percent or fixed amount
  percent: "Boolean"

  // Output to send asset to - max value is 30 if range is false and 8191 if true (valid only if burn is false or undefined)
  output: "Number"

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

  // Should this payment be interpreted as an execution of "burn" (valid only if output value and range are undefined)
  burn: "Boolean"
}

Returns a new Buffer holding the encoded payment.

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

var code = paymentEncode.encode(paymentObject)

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

Alternatively, you can encode a "burn" payment:

var paymentObject = {
    skip: false,
    percent: false,
    amount: 13,
    burn: true
}

var code = paymentEncode.encode(paymentObject)

console.log(code) // Will print: <Buffer 1f 0d>

Decode

Params:

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

Returns a Colored Coins payment Object

Example:
var paymentEncode = require('cc-burn-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,
//  amount: 321321321
//  }

Testing

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

$ cd /"module-path"/cc-burn-payment-encoder
$ mocha

License

MIT