@fintekkers/ledger-models 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,6 +31,8 @@ var fintekkers_models_util_uuid_pb = require('../../../fintekkers/models/util/uu
31
31
  goog.object.extend(proto, fintekkers_models_util_uuid_pb);
32
32
  var fintekkers_models_security_identifier_identifier_pb = require('../../../fintekkers/models/security/identifier/identifier_pb.js');
33
33
  goog.object.extend(proto, fintekkers_models_security_identifier_identifier_pb);
34
+ var fintekkers_models_security_bond_agency_pb = require('../../../fintekkers/models/security/bond/agency_pb.js');
35
+ goog.object.extend(proto, fintekkers_models_security_bond_agency_pb);
34
36
  var fintekkers_models_security_bond_issuance_pb = require('../../../fintekkers/models/security/bond/issuance_pb.js');
35
37
  goog.object.extend(proto, fintekkers_models_security_bond_issuance_pb);
36
38
  var fintekkers_models_security_product_type_pb = require('../../../fintekkers/models/security/product_type_pb.js');
@@ -51,6 +53,7 @@ goog.exportSymbol('proto.fintekkers.models.security.EquityDetailsProto', null, g
51
53
  goog.exportSymbol('proto.fintekkers.models.security.FrnExtensionProto', null, global);
52
54
  goog.exportSymbol('proto.fintekkers.models.security.FxSpotDetailsProto', null, global);
53
55
  goog.exportSymbol('proto.fintekkers.models.security.IndexDetailsProto', null, global);
56
+ goog.exportSymbol('proto.fintekkers.models.security.MbsExtensionProto', null, global);
54
57
  goog.exportSymbol('proto.fintekkers.models.security.SecurityProto', null, global);
55
58
  goog.exportSymbol('proto.fintekkers.models.security.SecurityProto.NonBondDetailsCase', null, global);
56
59
  goog.exportSymbol('proto.fintekkers.models.security.TipsExtensionProto', null, global);
@@ -138,6 +141,27 @@ if (goog.DEBUG && !COMPILED) {
138
141
  */
139
142
  proto.fintekkers.models.security.FrnExtensionProto.displayName = 'proto.fintekkers.models.security.FrnExtensionProto';
140
143
  }
144
+ /**
145
+ * Generated by JsPbCodeGenerator.
146
+ * @param {Array=} opt_data Optional initial data array, typically from a
147
+ * server response, or constructed directly in Javascript. The array is used
148
+ * in place and becomes part of the constructed object. It is not cloned.
149
+ * If no data is provided, the constructed object will be empty, but still
150
+ * valid.
151
+ * @extends {jspb.Message}
152
+ * @constructor
153
+ */
154
+ proto.fintekkers.models.security.MbsExtensionProto = function(opt_data) {
155
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
156
+ };
157
+ goog.inherits(proto.fintekkers.models.security.MbsExtensionProto, jspb.Message);
158
+ if (goog.DEBUG && !COMPILED) {
159
+ /**
160
+ * @public
161
+ * @override
162
+ */
163
+ proto.fintekkers.models.security.MbsExtensionProto.displayName = 'proto.fintekkers.models.security.MbsExtensionProto';
164
+ }
141
165
  /**
142
166
  * Generated by JsPbCodeGenerator.
143
167
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -314,7 +338,8 @@ proto.fintekkers.models.security.SecurityProto.toObject = function(includeInstan
314
338
  indexDetails: (f = msg.getIndexDetails()) && proto.fintekkers.models.security.IndexDetailsProto.toObject(includeInstance, f),
315
339
  equityDetails: (f = msg.getEquityDetails()) && proto.fintekkers.models.security.EquityDetailsProto.toObject(includeInstance, f),
316
340
  cashDetails: (f = msg.getCashDetails()) && proto.fintekkers.models.security.CashDetailsProto.toObject(includeInstance, f),
317
- fxSpotDetails: (f = msg.getFxSpotDetails()) && proto.fintekkers.models.security.FxSpotDetailsProto.toObject(includeInstance, f)
341
+ fxSpotDetails: (f = msg.getFxSpotDetails()) && proto.fintekkers.models.security.FxSpotDetailsProto.toObject(includeInstance, f),
342
+ mbsExtension: (f = msg.getMbsExtension()) && proto.fintekkers.models.security.MbsExtensionProto.toObject(includeInstance, f)
318
343
  };
319
344
 
320
345
  if (includeInstance) {
@@ -462,6 +487,11 @@ proto.fintekkers.models.security.SecurityProto.deserializeBinaryFromReader = fun
462
487
  reader.readMessage(value,proto.fintekkers.models.security.FxSpotDetailsProto.deserializeBinaryFromReader);
463
488
  msg.setFxSpotDetails(value);
464
489
  break;
490
+ case 207:
491
+ var value = new proto.fintekkers.models.security.MbsExtensionProto;
492
+ reader.readMessage(value,proto.fintekkers.models.security.MbsExtensionProto.deserializeBinaryFromReader);
493
+ msg.setMbsExtension(value);
494
+ break;
465
495
  default:
466
496
  reader.skipField();
467
497
  break;
@@ -674,6 +704,14 @@ proto.fintekkers.models.security.SecurityProto.serializeBinaryToWriter = functio
674
704
  proto.fintekkers.models.security.FxSpotDetailsProto.serializeBinaryToWriter
675
705
  );
676
706
  }
707
+ f = message.getMbsExtension();
708
+ if (f != null) {
709
+ writer.writeMessage(
710
+ 207,
711
+ f,
712
+ proto.fintekkers.models.security.MbsExtensionProto.serializeBinaryToWriter
713
+ );
714
+ }
677
715
  };
678
716
 
679
717
 
@@ -1396,6 +1434,43 @@ proto.fintekkers.models.security.SecurityProto.prototype.hasFxSpotDetails = func
1396
1434
  };
1397
1435
 
1398
1436
 
1437
+ /**
1438
+ * optional MbsExtensionProto mbs_extension = 207;
1439
+ * @return {?proto.fintekkers.models.security.MbsExtensionProto}
1440
+ */
1441
+ proto.fintekkers.models.security.SecurityProto.prototype.getMbsExtension = function() {
1442
+ return /** @type{?proto.fintekkers.models.security.MbsExtensionProto} */ (
1443
+ jspb.Message.getWrapperField(this, proto.fintekkers.models.security.MbsExtensionProto, 207));
1444
+ };
1445
+
1446
+
1447
+ /**
1448
+ * @param {?proto.fintekkers.models.security.MbsExtensionProto|undefined} value
1449
+ * @return {!proto.fintekkers.models.security.SecurityProto} returns this
1450
+ */
1451
+ proto.fintekkers.models.security.SecurityProto.prototype.setMbsExtension = function(value) {
1452
+ return jspb.Message.setWrapperField(this, 207, value);
1453
+ };
1454
+
1455
+
1456
+ /**
1457
+ * Clears the message field making it undefined.
1458
+ * @return {!proto.fintekkers.models.security.SecurityProto} returns this
1459
+ */
1460
+ proto.fintekkers.models.security.SecurityProto.prototype.clearMbsExtension = function() {
1461
+ return this.setMbsExtension(undefined);
1462
+ };
1463
+
1464
+
1465
+ /**
1466
+ * Returns whether this field is set.
1467
+ * @return {boolean}
1468
+ */
1469
+ proto.fintekkers.models.security.SecurityProto.prototype.hasMbsExtension = function() {
1470
+ return jspb.Message.getField(this, 207) != null;
1471
+ };
1472
+
1473
+
1399
1474
 
1400
1475
  /**
1401
1476
  * List of repeated fields within this message type.
@@ -2315,6 +2390,502 @@ proto.fintekkers.models.security.FrnExtensionProto.prototype.setResetFrequency =
2315
2390
 
2316
2391
 
2317
2392
 
2393
+
2394
+
2395
+ if (jspb.Message.GENERATE_TO_OBJECT) {
2396
+ /**
2397
+ * Creates an object representation of this proto.
2398
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
2399
+ * Optional fields that are not set will be set to undefined.
2400
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
2401
+ * For the list of reserved names please see:
2402
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
2403
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
2404
+ * JSPB instance for transitional soy proto support:
2405
+ * http://goto/soy-param-migration
2406
+ * @return {!Object}
2407
+ */
2408
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.toObject = function(opt_includeInstance) {
2409
+ return proto.fintekkers.models.security.MbsExtensionProto.toObject(opt_includeInstance, this);
2410
+ };
2411
+
2412
+
2413
+ /**
2414
+ * Static version of the {@see toObject} method.
2415
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
2416
+ * the JSPB instance for transitional soy proto support:
2417
+ * http://goto/soy-param-migration
2418
+ * @param {!proto.fintekkers.models.security.MbsExtensionProto} msg The msg instance to transform.
2419
+ * @return {!Object}
2420
+ * @suppress {unusedLocalVariables} f is only used for nested messages
2421
+ */
2422
+ proto.fintekkers.models.security.MbsExtensionProto.toObject = function(includeInstance, msg) {
2423
+ var f, obj = {
2424
+ poolNumber: jspb.Message.getFieldWithDefault(msg, 1, ""),
2425
+ agency: jspb.Message.getFieldWithDefault(msg, 2, 0),
2426
+ wac: (f = msg.getWac()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f),
2427
+ wam: jspb.Message.getFieldWithDefault(msg, 4, 0),
2428
+ passThroughRate: (f = msg.getPassThroughRate()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f),
2429
+ currentFactor: (f = msg.getCurrentFactor()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f),
2430
+ originalFaceValue: (f = msg.getOriginalFaceValue()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f),
2431
+ currentUpb: (f = msg.getCurrentUpb()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f),
2432
+ psaSpeed: (f = msg.getPsaSpeed()) && fintekkers_models_util_decimal_value_pb.DecimalValueProto.toObject(includeInstance, f)
2433
+ };
2434
+
2435
+ if (includeInstance) {
2436
+ obj.$jspbMessageInstance = msg;
2437
+ }
2438
+ return obj;
2439
+ };
2440
+ }
2441
+
2442
+
2443
+ /**
2444
+ * Deserializes binary data (in protobuf wire format).
2445
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
2446
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto}
2447
+ */
2448
+ proto.fintekkers.models.security.MbsExtensionProto.deserializeBinary = function(bytes) {
2449
+ var reader = new jspb.BinaryReader(bytes);
2450
+ var msg = new proto.fintekkers.models.security.MbsExtensionProto;
2451
+ return proto.fintekkers.models.security.MbsExtensionProto.deserializeBinaryFromReader(msg, reader);
2452
+ };
2453
+
2454
+
2455
+ /**
2456
+ * Deserializes binary data (in protobuf wire format) from the
2457
+ * given reader into the given message object.
2458
+ * @param {!proto.fintekkers.models.security.MbsExtensionProto} msg The message object to deserialize into.
2459
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
2460
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto}
2461
+ */
2462
+ proto.fintekkers.models.security.MbsExtensionProto.deserializeBinaryFromReader = function(msg, reader) {
2463
+ while (reader.nextField()) {
2464
+ if (reader.isEndGroup()) {
2465
+ break;
2466
+ }
2467
+ var field = reader.getFieldNumber();
2468
+ switch (field) {
2469
+ case 1:
2470
+ var value = /** @type {string} */ (reader.readString());
2471
+ msg.setPoolNumber(value);
2472
+ break;
2473
+ case 2:
2474
+ var value = /** @type {!proto.fintekkers.models.security.bond.AgencyProto} */ (reader.readEnum());
2475
+ msg.setAgency(value);
2476
+ break;
2477
+ case 3:
2478
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2479
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2480
+ msg.setWac(value);
2481
+ break;
2482
+ case 4:
2483
+ var value = /** @type {number} */ (reader.readInt32());
2484
+ msg.setWam(value);
2485
+ break;
2486
+ case 5:
2487
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2488
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2489
+ msg.setPassThroughRate(value);
2490
+ break;
2491
+ case 6:
2492
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2493
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2494
+ msg.setCurrentFactor(value);
2495
+ break;
2496
+ case 7:
2497
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2498
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2499
+ msg.setOriginalFaceValue(value);
2500
+ break;
2501
+ case 8:
2502
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2503
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2504
+ msg.setCurrentUpb(value);
2505
+ break;
2506
+ case 9:
2507
+ var value = new fintekkers_models_util_decimal_value_pb.DecimalValueProto;
2508
+ reader.readMessage(value,fintekkers_models_util_decimal_value_pb.DecimalValueProto.deserializeBinaryFromReader);
2509
+ msg.setPsaSpeed(value);
2510
+ break;
2511
+ default:
2512
+ reader.skipField();
2513
+ break;
2514
+ }
2515
+ }
2516
+ return msg;
2517
+ };
2518
+
2519
+
2520
+ /**
2521
+ * Serializes the message to binary data (in protobuf wire format).
2522
+ * @return {!Uint8Array}
2523
+ */
2524
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.serializeBinary = function() {
2525
+ var writer = new jspb.BinaryWriter();
2526
+ proto.fintekkers.models.security.MbsExtensionProto.serializeBinaryToWriter(this, writer);
2527
+ return writer.getResultBuffer();
2528
+ };
2529
+
2530
+
2531
+ /**
2532
+ * Serializes the given message to binary data (in protobuf wire
2533
+ * format), writing to the given BinaryWriter.
2534
+ * @param {!proto.fintekkers.models.security.MbsExtensionProto} message
2535
+ * @param {!jspb.BinaryWriter} writer
2536
+ * @suppress {unusedLocalVariables} f is only used for nested messages
2537
+ */
2538
+ proto.fintekkers.models.security.MbsExtensionProto.serializeBinaryToWriter = function(message, writer) {
2539
+ var f = undefined;
2540
+ f = message.getPoolNumber();
2541
+ if (f.length > 0) {
2542
+ writer.writeString(
2543
+ 1,
2544
+ f
2545
+ );
2546
+ }
2547
+ f = message.getAgency();
2548
+ if (f !== 0.0) {
2549
+ writer.writeEnum(
2550
+ 2,
2551
+ f
2552
+ );
2553
+ }
2554
+ f = message.getWac();
2555
+ if (f != null) {
2556
+ writer.writeMessage(
2557
+ 3,
2558
+ f,
2559
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2560
+ );
2561
+ }
2562
+ f = message.getWam();
2563
+ if (f !== 0) {
2564
+ writer.writeInt32(
2565
+ 4,
2566
+ f
2567
+ );
2568
+ }
2569
+ f = message.getPassThroughRate();
2570
+ if (f != null) {
2571
+ writer.writeMessage(
2572
+ 5,
2573
+ f,
2574
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2575
+ );
2576
+ }
2577
+ f = message.getCurrentFactor();
2578
+ if (f != null) {
2579
+ writer.writeMessage(
2580
+ 6,
2581
+ f,
2582
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2583
+ );
2584
+ }
2585
+ f = message.getOriginalFaceValue();
2586
+ if (f != null) {
2587
+ writer.writeMessage(
2588
+ 7,
2589
+ f,
2590
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2591
+ );
2592
+ }
2593
+ f = message.getCurrentUpb();
2594
+ if (f != null) {
2595
+ writer.writeMessage(
2596
+ 8,
2597
+ f,
2598
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2599
+ );
2600
+ }
2601
+ f = message.getPsaSpeed();
2602
+ if (f != null) {
2603
+ writer.writeMessage(
2604
+ 9,
2605
+ f,
2606
+ fintekkers_models_util_decimal_value_pb.DecimalValueProto.serializeBinaryToWriter
2607
+ );
2608
+ }
2609
+ };
2610
+
2611
+
2612
+ /**
2613
+ * optional string pool_number = 1;
2614
+ * @return {string}
2615
+ */
2616
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getPoolNumber = function() {
2617
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
2618
+ };
2619
+
2620
+
2621
+ /**
2622
+ * @param {string} value
2623
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2624
+ */
2625
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setPoolNumber = function(value) {
2626
+ return jspb.Message.setProto3StringField(this, 1, value);
2627
+ };
2628
+
2629
+
2630
+ /**
2631
+ * optional bond.AgencyProto agency = 2;
2632
+ * @return {!proto.fintekkers.models.security.bond.AgencyProto}
2633
+ */
2634
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getAgency = function() {
2635
+ return /** @type {!proto.fintekkers.models.security.bond.AgencyProto} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
2636
+ };
2637
+
2638
+
2639
+ /**
2640
+ * @param {!proto.fintekkers.models.security.bond.AgencyProto} value
2641
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2642
+ */
2643
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setAgency = function(value) {
2644
+ return jspb.Message.setProto3EnumField(this, 2, value);
2645
+ };
2646
+
2647
+
2648
+ /**
2649
+ * optional fintekkers.models.util.DecimalValueProto wac = 3;
2650
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2651
+ */
2652
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getWac = function() {
2653
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2654
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 3));
2655
+ };
2656
+
2657
+
2658
+ /**
2659
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2660
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2661
+ */
2662
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setWac = function(value) {
2663
+ return jspb.Message.setWrapperField(this, 3, value);
2664
+ };
2665
+
2666
+
2667
+ /**
2668
+ * Clears the message field making it undefined.
2669
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2670
+ */
2671
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearWac = function() {
2672
+ return this.setWac(undefined);
2673
+ };
2674
+
2675
+
2676
+ /**
2677
+ * Returns whether this field is set.
2678
+ * @return {boolean}
2679
+ */
2680
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasWac = function() {
2681
+ return jspb.Message.getField(this, 3) != null;
2682
+ };
2683
+
2684
+
2685
+ /**
2686
+ * optional int32 wam = 4;
2687
+ * @return {number}
2688
+ */
2689
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getWam = function() {
2690
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
2691
+ };
2692
+
2693
+
2694
+ /**
2695
+ * @param {number} value
2696
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2697
+ */
2698
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setWam = function(value) {
2699
+ return jspb.Message.setProto3IntField(this, 4, value);
2700
+ };
2701
+
2702
+
2703
+ /**
2704
+ * optional fintekkers.models.util.DecimalValueProto pass_through_rate = 5;
2705
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2706
+ */
2707
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getPassThroughRate = function() {
2708
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2709
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 5));
2710
+ };
2711
+
2712
+
2713
+ /**
2714
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2715
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2716
+ */
2717
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setPassThroughRate = function(value) {
2718
+ return jspb.Message.setWrapperField(this, 5, value);
2719
+ };
2720
+
2721
+
2722
+ /**
2723
+ * Clears the message field making it undefined.
2724
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2725
+ */
2726
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearPassThroughRate = function() {
2727
+ return this.setPassThroughRate(undefined);
2728
+ };
2729
+
2730
+
2731
+ /**
2732
+ * Returns whether this field is set.
2733
+ * @return {boolean}
2734
+ */
2735
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasPassThroughRate = function() {
2736
+ return jspb.Message.getField(this, 5) != null;
2737
+ };
2738
+
2739
+
2740
+ /**
2741
+ * optional fintekkers.models.util.DecimalValueProto current_factor = 6;
2742
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2743
+ */
2744
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getCurrentFactor = function() {
2745
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2746
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 6));
2747
+ };
2748
+
2749
+
2750
+ /**
2751
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2752
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2753
+ */
2754
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setCurrentFactor = function(value) {
2755
+ return jspb.Message.setWrapperField(this, 6, value);
2756
+ };
2757
+
2758
+
2759
+ /**
2760
+ * Clears the message field making it undefined.
2761
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2762
+ */
2763
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearCurrentFactor = function() {
2764
+ return this.setCurrentFactor(undefined);
2765
+ };
2766
+
2767
+
2768
+ /**
2769
+ * Returns whether this field is set.
2770
+ * @return {boolean}
2771
+ */
2772
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasCurrentFactor = function() {
2773
+ return jspb.Message.getField(this, 6) != null;
2774
+ };
2775
+
2776
+
2777
+ /**
2778
+ * optional fintekkers.models.util.DecimalValueProto original_face_value = 7;
2779
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2780
+ */
2781
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getOriginalFaceValue = function() {
2782
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2783
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 7));
2784
+ };
2785
+
2786
+
2787
+ /**
2788
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2789
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2790
+ */
2791
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setOriginalFaceValue = function(value) {
2792
+ return jspb.Message.setWrapperField(this, 7, value);
2793
+ };
2794
+
2795
+
2796
+ /**
2797
+ * Clears the message field making it undefined.
2798
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2799
+ */
2800
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearOriginalFaceValue = function() {
2801
+ return this.setOriginalFaceValue(undefined);
2802
+ };
2803
+
2804
+
2805
+ /**
2806
+ * Returns whether this field is set.
2807
+ * @return {boolean}
2808
+ */
2809
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasOriginalFaceValue = function() {
2810
+ return jspb.Message.getField(this, 7) != null;
2811
+ };
2812
+
2813
+
2814
+ /**
2815
+ * optional fintekkers.models.util.DecimalValueProto current_upb = 8;
2816
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2817
+ */
2818
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getCurrentUpb = function() {
2819
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2820
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 8));
2821
+ };
2822
+
2823
+
2824
+ /**
2825
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2826
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2827
+ */
2828
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setCurrentUpb = function(value) {
2829
+ return jspb.Message.setWrapperField(this, 8, value);
2830
+ };
2831
+
2832
+
2833
+ /**
2834
+ * Clears the message field making it undefined.
2835
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2836
+ */
2837
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearCurrentUpb = function() {
2838
+ return this.setCurrentUpb(undefined);
2839
+ };
2840
+
2841
+
2842
+ /**
2843
+ * Returns whether this field is set.
2844
+ * @return {boolean}
2845
+ */
2846
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasCurrentUpb = function() {
2847
+ return jspb.Message.getField(this, 8) != null;
2848
+ };
2849
+
2850
+
2851
+ /**
2852
+ * optional fintekkers.models.util.DecimalValueProto psa_speed = 9;
2853
+ * @return {?proto.fintekkers.models.util.DecimalValueProto}
2854
+ */
2855
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.getPsaSpeed = function() {
2856
+ return /** @type{?proto.fintekkers.models.util.DecimalValueProto} */ (
2857
+ jspb.Message.getWrapperField(this, fintekkers_models_util_decimal_value_pb.DecimalValueProto, 9));
2858
+ };
2859
+
2860
+
2861
+ /**
2862
+ * @param {?proto.fintekkers.models.util.DecimalValueProto|undefined} value
2863
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2864
+ */
2865
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.setPsaSpeed = function(value) {
2866
+ return jspb.Message.setWrapperField(this, 9, value);
2867
+ };
2868
+
2869
+
2870
+ /**
2871
+ * Clears the message field making it undefined.
2872
+ * @return {!proto.fintekkers.models.security.MbsExtensionProto} returns this
2873
+ */
2874
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.clearPsaSpeed = function() {
2875
+ return this.setPsaSpeed(undefined);
2876
+ };
2877
+
2878
+
2879
+ /**
2880
+ * Returns whether this field is set.
2881
+ * @return {boolean}
2882
+ */
2883
+ proto.fintekkers.models.security.MbsExtensionProto.prototype.hasPsaSpeed = function() {
2884
+ return jspb.Message.getField(this, 9) != null;
2885
+ };
2886
+
2887
+
2888
+
2318
2889
  /**
2319
2890
  * List of repeated fields within this message type.
2320
2891
  * @private {!Array<number>}
@@ -0,0 +1,48 @@
1
+ import BondSecurity, { BondPricerInputs } from './BondSecurity';
2
+ import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
3
+ import { AgencyProto } from '../../../fintekkers/models/security/bond/agency_pb';
4
+ import { Decimal } from 'decimal.js';
5
+ /**
6
+ * MBS-specific accessors layered on top of BondSecurity. Pool-level fields
7
+ * (agency, WAC, WAM, pass-through rate, factors, balances, PSA) live in
8
+ * the parallel mbs_extension sub-message; bond_details still carries the
9
+ * canonical coupon/dates/face value.
10
+ */
11
+ declare class MortgageBackedSecurity extends BondSecurity {
12
+ constructor(proto: SecurityProto);
13
+ private getMbsExtension;
14
+ /** Pool identifier (e.g. "FN AS1234"). */
15
+ getPoolNumber(): string;
16
+ /** Issuing agency (FNMA / FHLMC / GNMA). */
17
+ getAgency(): AgencyProto;
18
+ /** Weighted Average Coupon across underlying loans. */
19
+ getWac(): Decimal | null;
20
+ /** Weighted Average Maturity, in months. */
21
+ getWam(): number;
22
+ /** Pass-through rate paid to investors (net of servicing/guarantee fees). */
23
+ getPassThroughRate(): Decimal | null;
24
+ /** Current pool factor (remaining UPB / original face). */
25
+ getCurrentFactor(): Decimal | null;
26
+ /** Original face value at issuance. */
27
+ getOriginalFaceValue(): Decimal | null;
28
+ /** Current Unpaid Principal Balance. */
29
+ getCurrentUpb(): Decimal | null;
30
+ /** PSA prepayment speed assumption. */
31
+ getPsaSpeed(): Decimal | null;
32
+ /**
33
+ * Build a fresh SecurityProto for an agency MBS pass-through. product_type
34
+ * is set to MORTGAGE_BACKED so Security.create routes back to this wrapper.
35
+ */
36
+ static fromPricerInputs(args: BondPricerInputs & {
37
+ poolNumber: string;
38
+ agency: AgencyProto;
39
+ wac: Decimal;
40
+ wam: number;
41
+ passThroughRate: Decimal;
42
+ currentFactor: Decimal;
43
+ originalFaceValue: Decimal;
44
+ currentUpb: Decimal;
45
+ psaSpeed: Decimal;
46
+ }): SecurityProto;
47
+ }
48
+ export default MortgageBackedSecurity;