UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

70 lines 2.69 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var validate_1 = require("../../dependencies/src/validate.js-0.13.1/validate"); var transactions_validator_1 = require("../validators/transactions.validator"); var validators_1 = require("../validators/validators"); var unsignedTransactionConstraints = { ins: { presence: { allowEmpty: false }, isValidBitcoinInput: true }, outs: { presence: { allowEmpty: false }, isValidBitcoinOutput: true } }; var signedTransactionConstraints = { from: { presence: { allowEmpty: false }, isValidBitcoinFromArray: true }, amount: { type: 'BigNumber', presence: { allowEmpty: false } }, fee: { type: 'BigNumber', presence: { allowEmpty: false } }, accountIdentifier: { type: 'String', presence: { allowEmpty: false } }, transaction: { isValidBitcoinTxString: true, type: 'String', presence: { allowEmpty: false } } }; var success = function () { return undefined; }; var error = function (errors) { return errors; }; var BitcoinTransactionValidator = /** @class */ (function (_super) { __extends(BitcoinTransactionValidator, _super); function BitcoinTransactionValidator() { return _super !== null && _super.apply(this, arguments) || this; } BitcoinTransactionValidator.prototype.validateUnsignedTransaction = function (unsignedTx) { var rawBitcoinTx = unsignedTx.transaction; validators_1.validateSyncScheme({}); return validate_1.async(rawBitcoinTx, unsignedTransactionConstraints).then(success, error); }; BitcoinTransactionValidator.prototype.validateSignedTransaction = function (signedTx) { return validate_1.async(signedTx, signedTransactionConstraints).then(success, error); }; return BitcoinTransactionValidator; }(transactions_validator_1.TransactionValidator)); exports.BitcoinTransactionValidator = BitcoinTransactionValidator; //# sourceMappingURL=bitcoin-transactions.validator.js.map