crypto-conditions
Version:
Implementation of crypto-conditions in JavaScript
57 lines (39 loc) • 2.36 kB
JavaScript
"use strict";
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.ThresholdFulfillment = exports.RsaSha256Fulfillment = exports.PreimageFulfillment = exports.PrefixFulfillment = exports.Fulfillment = exports.Ed25519Sha256Fulfillment = void 0;
var _asn = _interopRequireDefault(require("asn1.js"));
var _condition = require("./condition");
var PreimageFulfillment = _asn.default.define('PreimageFulfillment', function () {
this.seq().obj(this.key('preimage').implicit(0).octstr());
});
exports.PreimageFulfillment = PreimageFulfillment;
var PrefixFulfillment = _asn.default.define('PrefixFulfillment', function () {
this.seq().obj(this.key('prefix').implicit(0).octstr(), this.key('maxMessageLength').implicit(1).int(), this.key('subfulfillment').explicit(2).use(Fulfillment));
});
exports.PrefixFulfillment = PrefixFulfillment;
var ThresholdFulfillment = _asn.default.define('ThresholdFulfillment', function () {
this.seq().obj(this.key('subfulfillments').implicit(0).setof(Fulfillment), this.key('subconditions').implicit(1).setof(_condition.Condition));
});
exports.ThresholdFulfillment = ThresholdFulfillment;
var RsaSha256Fulfillment = _asn.default.define('RsaSha256Fulfillment', function () {
this.seq().obj(this.key('modulus').implicit(0).octstr(), this.key('signature').implicit(1).octstr());
});
exports.RsaSha256Fulfillment = RsaSha256Fulfillment;
var Ed25519Sha256Fulfillment = _asn.default.define('Ed25519Sha256Fulfillment', function () {
this.seq().obj(this.key('publicKey').implicit(0).octstr(), this.key('signature').implicit(1).octstr());
});
exports.Ed25519Sha256Fulfillment = Ed25519Sha256Fulfillment;
var Fulfillment = _asn.default.define('Fulfillment', function () {
this.choice({
preimageSha256Fulfillment: this.implicit(0).use(PreimageFulfillment),
prefixSha256Fulfillment: this.implicit(1).use(PrefixFulfillment),
thresholdSha256Fulfillment: this.implicit(2).use(ThresholdFulfillment),
rsaSha256Fulfillment: this.implicit(3).use(RsaSha256Fulfillment),
ed25519Sha256Fulfillment: this.implicit(4).use(Ed25519Sha256Fulfillment)
});
});
exports.Fulfillment = Fulfillment;