All files / src/transaction makeTransaction.js

100% Statements 11/11
75% Branches 9/12
100% Functions 2/2
100% Lines 11/11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 294x       22x                       66x 22x 22x 22x 22x 22x 22x     22x 22x    
import hashTransaction from './hashTransaction'
 
 
function makeTransactionTemplate() {
    return {
        'id': null,
        'operation': null,
        'outputs': [],
        'inputs': [],
        'metadata': null,
        'asset': null,
        'version': '0.9',
    }
}
 
 
export default function makeTransaction(operation, asset, metadata = null, outputs = [], inputs = []) {
    const tx = makeTransactionTemplate()
    tx.operation = operation
    tx.asset = asset
    tx.metadata = metadata
    tx.inputs = inputs
    tx.outputs = outputs
 
    // Hashing must be done after, as the hash is of the Transaction (up to now)
    tx.id = hashTransaction(tx)
    return tx
}