protobuf-platform 1.2.659 → 1.2.660

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobuf-platform",
3
- "version": "1.2.659",
3
+ "version": "1.2.660",
4
4
  "description": "Protobuf structures",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1345,6 +1345,9 @@ message GameplayPrecisionPreparation {
1345
1345
  string requested_debit_minor = 9;
1346
1346
  repeated GameplayPrecisionAccountingLeg accounting_legs = 10;
1347
1347
  bool requires_rg_admission = 11;
1348
+ // Immutable confirmed release evidence for the prior generation transition.
1349
+ // Replayed from payment command history; absent for generation 1.
1350
+ GameplayPrecisionRgEvidence previous_release = 12;
1348
1351
  }
1349
1352
  message PrepareGameplayPrecisionCommandRequest {
1350
1353
  ExecuteGameplayPrecisionCommandRequest command = 1;
@@ -55327,7 +55327,8 @@ proto.payment.GameplayPrecisionPreparation.toObject = function(includeInstance,
55327
55327
  requestedDebitMinor: jspb.Message.getFieldWithDefault(msg, 9, ""),
55328
55328
  accountingLegsList: jspb.Message.toObjectList(msg.getAccountingLegsList(),
55329
55329
  proto.payment.GameplayPrecisionAccountingLeg.toObject, includeInstance),
55330
- requiresRgAdmission: jspb.Message.getBooleanFieldWithDefault(msg, 11, false)
55330
+ requiresRgAdmission: jspb.Message.getBooleanFieldWithDefault(msg, 11, false),
55331
+ previousRelease: (f = msg.getPreviousRelease()) && proto.payment.GameplayPrecisionRgEvidence.toObject(includeInstance, f)
55331
55332
  };
55332
55333
 
55333
55334
  if (includeInstance) {
@@ -55409,6 +55410,11 @@ proto.payment.GameplayPrecisionPreparation.deserializeBinaryFromReader = functio
55409
55410
  var value = /** @type {boolean} */ (reader.readBool());
55410
55411
  msg.setRequiresRgAdmission(value);
55411
55412
  break;
55413
+ case 12:
55414
+ var value = new proto.payment.GameplayPrecisionRgEvidence;
55415
+ reader.readMessage(value,proto.payment.GameplayPrecisionRgEvidence.deserializeBinaryFromReader);
55416
+ msg.setPreviousRelease(value);
55417
+ break;
55412
55418
  default:
55413
55419
  reader.skipField();
55414
55420
  break;
@@ -55516,6 +55522,14 @@ proto.payment.GameplayPrecisionPreparation.serializeBinaryToWriter = function(me
55516
55522
  f
55517
55523
  );
55518
55524
  }
55525
+ f = message.getPreviousRelease();
55526
+ if (f != null) {
55527
+ writer.writeMessage(
55528
+ 12,
55529
+ f,
55530
+ proto.payment.GameplayPrecisionRgEvidence.serializeBinaryToWriter
55531
+ );
55532
+ }
55519
55533
  };
55520
55534
 
55521
55535
 
@@ -55737,6 +55751,43 @@ proto.payment.GameplayPrecisionPreparation.prototype.setRequiresRgAdmission = fu
55737
55751
  };
55738
55752
 
55739
55753
 
55754
+ /**
55755
+ * optional GameplayPrecisionRgEvidence previous_release = 12;
55756
+ * @return {?proto.payment.GameplayPrecisionRgEvidence}
55757
+ */
55758
+ proto.payment.GameplayPrecisionPreparation.prototype.getPreviousRelease = function() {
55759
+ return /** @type{?proto.payment.GameplayPrecisionRgEvidence} */ (
55760
+ jspb.Message.getWrapperField(this, proto.payment.GameplayPrecisionRgEvidence, 12));
55761
+ };
55762
+
55763
+
55764
+ /**
55765
+ * @param {?proto.payment.GameplayPrecisionRgEvidence|undefined} value
55766
+ * @return {!proto.payment.GameplayPrecisionPreparation} returns this
55767
+ */
55768
+ proto.payment.GameplayPrecisionPreparation.prototype.setPreviousRelease = function(value) {
55769
+ return jspb.Message.setWrapperField(this, 12, value);
55770
+ };
55771
+
55772
+
55773
+ /**
55774
+ * Clears the message field making it undefined.
55775
+ * @return {!proto.payment.GameplayPrecisionPreparation} returns this
55776
+ */
55777
+ proto.payment.GameplayPrecisionPreparation.prototype.clearPreviousRelease = function() {
55778
+ return this.setPreviousRelease(undefined);
55779
+ };
55780
+
55781
+
55782
+ /**
55783
+ * Returns whether this field is set.
55784
+ * @return {boolean}
55785
+ */
55786
+ proto.payment.GameplayPrecisionPreparation.prototype.hasPreviousRelease = function() {
55787
+ return jspb.Message.getField(this, 12) != null;
55788
+ };
55789
+
55790
+
55740
55791
 
55741
55792
 
55742
55793
 
@@ -7,7 +7,7 @@ const path = require('node:path');
7
7
  const vm = require('node:vm');
8
8
  const { execFileSync } = require('node:child_process');
9
9
  const root = path.resolve(__dirname, '..');
10
- const baseline = '960a899e90da887fa0831f321dff22517dfa9dff';
10
+ const baseline = '02f4a91c0709f9d3b91e5c22a65820318bdd6e04';
11
11
  const readOld = (file) => execFileSync('git', ['show', `${baseline}:${file}`], { cwd: root, encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 });
12
12
  const normalize = (text) => text.replace(/\/\/[^\n]*/g, '').replace(/\s+/g, ' ').trim();
13
13
  function declarations(source) {
@@ -28,8 +28,7 @@ function declarations(source) {
28
28
  return out;
29
29
  }
30
30
  const additions = {
31
- ExecuteGameplayPrecisionCommandRequest: 'string preparation_generation = 5; string preparation_fingerprint = 6; GameplayPrecisionRgEvidence rg_admission = 7;',
32
- GameplayPrecisionResult: 'repeated GameplayPrecisionAccountingLeg accounting_legs = 17; string preparation_generation = 18; string preparation_fingerprint = 19; string command_key = 20; string request_fingerprint = 21;',
31
+ GameplayPrecisionPreparation: 'GameplayPrecisionRgEvidence previous_release = 12;',
33
32
  };
34
33
  let preserved = 0;
35
34
  for (const domain of ['user', 'payment']) {
@@ -178,3 +177,42 @@ const exported = require('../index');
178
177
  assert.equal(exported.user.messages.PrecisionRgBinding, user.PrecisionRgBinding);
179
178
  assert.equal(exported.payment.messages.GameplayPrecisionPreparation, payment.GameplayPrecisionPreparation);
180
179
  console.log('PASS: generated gRPC paths/types and package exports');
180
+
181
+ // Version 1.2.659 readers ignore the new recovery field; new readers recognize its absence.
182
+ const original = new oldPayment.GameplayPrecisionPreparation();
183
+ original.setGeneration('1');
184
+ original.setFingerprint('initial-preparation');
185
+ const initial = payment.GameplayPrecisionPreparation.deserializeBinary(original.serializeBinary());
186
+ assert.equal(initial.hasPreviousRelease(), false);
187
+ const prior = new payment.GameplayPrecisionRgEvidence();
188
+ prior.setCommandKey('same-financial-command');
189
+ prior.setRequestFingerprint('same-immutable-request');
190
+ prior.setPreparationGeneration('1');
191
+ prior.setPreparationFingerprint('prior-preparation');
192
+ prior.setAccountingCurrency('USD');
193
+ prior.setAccountingScale(2);
194
+ prior.setRequestedDebitMinor('151');
195
+ prior.setState('RELEASED');
196
+ prior.setReceiptId('confirmed-release-receipt');
197
+ const next = new payment.GameplayPrecisionPreparation();
198
+ next.setGeneration('2');
199
+ next.setFingerprint('new-preparation');
200
+ next.setCommandKey(prior.getCommandKey());
201
+ next.setRequestFingerprint(prior.getRequestFingerprint());
202
+ next.setRequestedDebitMinor('152');
203
+ next.setPreviousRelease(prior);
204
+ const resumed = new payment.PrepareGameplayPrecisionCommandResponse();
205
+ resumed.setStatus('PREPARED');
206
+ resumed.setPreparation(next);
207
+ const replayWire = resumed.serializeBinary();
208
+ const restarted = payment.PrepareGameplayPrecisionCommandResponse.deserializeBinary(replayWire);
209
+ assert.deepEqual(restarted.getPreparation().getPreviousRelease().toObject(), prior.toObject());
210
+ assert.equal(restarted.getPreparation().getGeneration(), '2');
211
+ assert.equal(restarted.getPreparation().getRequestedDebitMinor(), '152');
212
+ assert.equal(restarted.getPreparation().getPreviousRelease().getRequestedDebitMinor(), '151');
213
+ assert.deepEqual(Buffer.from(restarted.serializeBinary()), Buffer.from(replayWire));
214
+ const legacyNext = oldPayment.GameplayPrecisionPreparation.deserializeBinary(next.serializeBinary());
215
+ assert.equal(legacyNext.getGeneration(), '2');
216
+ assert.equal(legacyNext.getRequestedDebitMinor(), '152');
217
+ assert.equal(typeof legacyNext.getPreviousRelease, 'undefined');
218
+ console.log('PASS: field 12 recovery evidence round-trip, prior/current binding separation, absent generation-1 evidence, 1.2.659 reader compatibility');