UNPKG

crypto-conditions

Version:

Implementation of crypto-conditions in JavaScript

57 lines (39 loc) 2.36 kB
"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;