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
JavaScript
;
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