1.0.0 • Published 3 years ago

roxe-rc-parser v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

ROC Ricardian contract parser

This library strips out the {{ param }} tags and replaces it with data from the transaction itself.

Installation

npm i -S roxe-rc-parser 

Usage

const parser = require('roxe-rc-parser');
 
from roxejs signProvider ... signargs.transaction.actions.map(async action => {
    const abi = await roxe.contract(contractAccountName);
    const data = abi.fc.fromBuffer(action.name, action.data);
    const actionAbi = abi.fc.abi.actions.find(fcAction => fcAction.name === action.name);
     
    
    const parsedRicardianContract = parser.parse(action.name, data, actionAbi.ricardian_contract);
     
    // Optional HTML formatting
    const htmlOptions = {h1:'b', h2:'div class="someclass"'};
    const parsedRicardianContract = parser.parse(action.name, data, ricardian, signer, true || htmlOptions);
}):

Or constitution:

const ricardian = systemAbi.abi.ricardian_clauses[0].body;
const parsedRicardianContract = parser.constitution(ricardian, 'testaccount', {h1:'h1'});

Examples results:

No HTML formatting

parser.parse('bidname', {bid: '3 ROC', bidder: 'testaccount', newname: 'somename'}, ricardian, 'testaccount');
# Action - "bidname"

## Description

The "bidname" action places a bid on a premium account name, in the knowledge that the high bid will purchase the name.

As an authorized party I "testaccount" wish to bid on behalf of "testaccount" the amount of "3 ROC" toward purchase of the account name "somename".

HTML formatting.

parser.parse('bidname', {bid: '3 ROC', bidder: 'testaccount', newname: 'somename'}, ricardian, 'testaccount', {h1:'b', h2:'i class="test"'});
<b>Action</b> - "bidname"<br><br><i class="test">Description</i><br><br>The "bidname" action places a bid on a premium account name, in the knowledge that the high bid will purchase the name.<br><br>As an authorized party I "testaccount" wish to bid on behalf of "testac
count" the amount of "3 ROC" toward purchase of the account name "somename".<br>
1.0.0

3 years ago

1.0.4

3 years ago