protobuf-platform 1.2.656 → 1.2.658

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/game/game.proto CHANGED
@@ -937,6 +937,8 @@ message ActiveWageringUserBonus {
937
937
  int32 wager_games_list_id = 9;
938
938
  // Business-allowed: "any" | "real" | "bonus"
939
939
  optional string wager_balance_priority = 10;
940
+ // Business-allowed: "separately" | "together"
941
+ optional string bankroll_mode = 11;
940
942
  }
941
943
  message GameConfigCheckResponse {
942
944
  int32 game_id = 1;
package/game/game_pb.js CHANGED
@@ -39084,7 +39084,8 @@ proto.game.ActiveWageringUserBonus.toObject = function(includeInstance, msg) {
39084
39084
  wageringEndInMilliseconds: jspb.Message.getFieldWithDefault(msg, 7, 0),
39085
39085
  wagerBalancesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,
39086
39086
  wagerGamesListId: jspb.Message.getFieldWithDefault(msg, 9, 0),
39087
- wagerBalancePriority: jspb.Message.getFieldWithDefault(msg, 10, "")
39087
+ wagerBalancePriority: jspb.Message.getFieldWithDefault(msg, 10, ""),
39088
+ bankrollMode: jspb.Message.getFieldWithDefault(msg, 11, "")
39088
39089
  };
39089
39090
 
39090
39091
  if (includeInstance) {
@@ -39161,6 +39162,10 @@ proto.game.ActiveWageringUserBonus.deserializeBinaryFromReader = function(msg, r
39161
39162
  var value = /** @type {string} */ (reader.readString());
39162
39163
  msg.setWagerBalancePriority(value);
39163
39164
  break;
39165
+ case 11:
39166
+ var value = /** @type {string} */ (reader.readString());
39167
+ msg.setBankrollMode(value);
39168
+ break;
39164
39169
  default:
39165
39170
  reader.skipField();
39166
39171
  break;
@@ -39260,6 +39265,13 @@ proto.game.ActiveWageringUserBonus.serializeBinaryToWriter = function(message, w
39260
39265
  f
39261
39266
  );
39262
39267
  }
39268
+ f = /** @type {string} */ (jspb.Message.getField(message, 11));
39269
+ if (f != null) {
39270
+ writer.writeString(
39271
+ 11,
39272
+ f
39273
+ );
39274
+ }
39263
39275
  };
39264
39276
 
39265
39277
 
@@ -39480,6 +39492,42 @@ proto.game.ActiveWageringUserBonus.prototype.hasWagerBalancePriority = function(
39480
39492
  };
39481
39493
 
39482
39494
 
39495
+ /**
39496
+ * optional string bankroll_mode = 11;
39497
+ * @return {string}
39498
+ */
39499
+ proto.game.ActiveWageringUserBonus.prototype.getBankrollMode = function() {
39500
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
39501
+ };
39502
+
39503
+
39504
+ /**
39505
+ * @param {string} value
39506
+ * @return {!proto.game.ActiveWageringUserBonus} returns this
39507
+ */
39508
+ proto.game.ActiveWageringUserBonus.prototype.setBankrollMode = function(value) {
39509
+ return jspb.Message.setField(this, 11, value);
39510
+ };
39511
+
39512
+
39513
+ /**
39514
+ * Clears the field making it undefined.
39515
+ * @return {!proto.game.ActiveWageringUserBonus} returns this
39516
+ */
39517
+ proto.game.ActiveWageringUserBonus.prototype.clearBankrollMode = function() {
39518
+ return jspb.Message.setField(this, 11, undefined);
39519
+ };
39520
+
39521
+
39522
+ /**
39523
+ * Returns whether this field is set.
39524
+ * @return {boolean}
39525
+ */
39526
+ proto.game.ActiveWageringUserBonus.prototype.hasBankrollMode = function() {
39527
+ return jspb.Message.getField(this, 11) != null;
39528
+ };
39529
+
39530
+
39483
39531
 
39484
39532
  /**
39485
39533
  * List of repeated fields within this message type.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobuf-platform",
3
- "version": "1.2.656",
3
+ "version": "1.2.658",
4
4
  "description": "Protobuf structures",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -59,6 +59,11 @@ service Payment {
59
59
  rpc getUserCashbackPaymentOperands(GetUserCashbackPaymentOperandsRequest) returns (GetUserCashbackPaymentOperandsResponse);
60
60
  rpc getUserFinancialSummary(GetUserFinancialSummaryRequest) returns (GetUserFinancialSummaryResponse);
61
61
  rpc resolveGameWalletContext(ResolveGameWalletContextRequest) returns (ResolveGameWalletContextResponse);
62
+ // Opt-in, commit-confirmed cross-currency gameplay. Legacy RPCs are unchanged.
63
+ rpc registerGameplayPrecisionSession(RegisterGameplayPrecisionSessionRequest) returns (GameplayPrecisionResult);
64
+ rpc executeGameplayPrecisionCommand(ExecuteGameplayPrecisionCommandRequest) returns (GameplayPrecisionResult);
65
+ rpc readGameplayPrecisionBalance(GameplayPrecisionSessionRequest) returns (GameplayPrecisionResult);
66
+ rpc closeGameplayPrecisionSession(GameplayPrecisionSessionRequest) returns (GameplayPrecisionResult);
62
67
  //Segmentation
63
68
  rpc getSegmentedUsers(SegmentedUserRequest) returns (SegmentedUserResponse);
64
69
  //Currency source-of-truth
@@ -1228,3 +1233,64 @@ message FinancialOperationResponse {
1228
1233
  optional string created_at = 17;
1229
1234
  optional string completed_at = 18;
1230
1235
  }
1236
+
1237
+ // Exact money and identifiers are decimal strings, never floating-point values.
1238
+ message RegisterGameplayPrecisionSessionRequest {
1239
+ string user_id = 1;
1240
+ string internal_session_id = 2;
1241
+ string vendor = 3;
1242
+ string provider_id = 4;
1243
+ string accounting_currency = 5;
1244
+ uint32 accounting_scale = 6;
1245
+ string provider_currency = 7;
1246
+ string wire_currency = 8;
1247
+ string wire_multiplier = 9;
1248
+ string fx_rate = 10; // Provider major units per accounting major unit.
1249
+ string fx_snapshot_json = 11;
1250
+ uint32 precision_model_version = 12;
1251
+ string balance_type = 13;
1252
+ string game_type = 14;
1253
+ string game_id = 15;
1254
+ string game_code = 16;
1255
+ string user_bonus_id = 17;
1256
+ string user_freespin_bonus_id = 18;
1257
+ string bankroll_mode = 19;
1258
+ string response_policy_version = 20;
1259
+ }
1260
+ message GameplayPrecisionSessionRequest {
1261
+ string precision_session_id = 1;
1262
+ string user_id = 2;
1263
+ string context_fingerprint = 3;
1264
+ }
1265
+ message GameplayPrecisionLeg {
1266
+ string action = 1; // bet | win | reversal
1267
+ string provider_transaction_id = 2;
1268
+ string wire_amount_decimal = 3;
1269
+ string original_transaction_id = 4;
1270
+ string original_action = 5;
1271
+ string event_context_json = 6;
1272
+ }
1273
+ message ExecuteGameplayPrecisionCommandRequest {
1274
+ GameplayPrecisionSessionRequest session = 1;
1275
+ string command_id = 2;
1276
+ string callback_action = 3;
1277
+ repeated GameplayPrecisionLeg legs = 4;
1278
+ }
1279
+ message GameplayPrecisionResult {
1280
+ string status = 1; // ok | ineligible | insufficient_funds | conflict | closed
1281
+ string precision_session_id = 2;
1282
+ string context_fingerprint = 3;
1283
+ uint32 precision_model_version = 4;
1284
+ string accounting_currency = 5;
1285
+ uint32 accounting_scale = 6;
1286
+ string balance_minor = 7;
1287
+ string remainder_numerator = 8;
1288
+ string remainder_denominator = 9;
1289
+ string cash_ledger_entry_id = 10;
1290
+ string precision_version = 11;
1291
+ repeated string operation_ids = 12;
1292
+ string provider_balance_numerator = 13; // Wire major units, derived from accounting.
1293
+ string provider_balance_denominator = 14;
1294
+ string provider_balance_decimal = 15; // Populated only under the bound response policy.
1295
+ string response_policy_version = 16;
1296
+ }
@@ -279,6 +279,17 @@ function deserialize_payment_DepositWebHookRequest(buffer_arg) {
279
279
  return payment_pb.DepositWebHookRequest.deserializeBinary(new Uint8Array(buffer_arg));
280
280
  }
281
281
 
282
+ function serialize_payment_ExecuteGameplayPrecisionCommandRequest(arg) {
283
+ if (!(arg instanceof payment_pb.ExecuteGameplayPrecisionCommandRequest)) {
284
+ throw new Error('Expected argument of type payment.ExecuteGameplayPrecisionCommandRequest');
285
+ }
286
+ return Buffer.from(arg.serializeBinary());
287
+ }
288
+
289
+ function deserialize_payment_ExecuteGameplayPrecisionCommandRequest(buffer_arg) {
290
+ return payment_pb.ExecuteGameplayPrecisionCommandRequest.deserializeBinary(new Uint8Array(buffer_arg));
291
+ }
292
+
282
293
  function serialize_payment_File(arg) {
283
294
  if (!(arg instanceof payment_pb.File)) {
284
295
  throw new Error('Expected argument of type payment.File');
@@ -301,6 +312,28 @@ function deserialize_payment_FinancialOperationResponse(buffer_arg) {
301
312
  return payment_pb.FinancialOperationResponse.deserializeBinary(new Uint8Array(buffer_arg));
302
313
  }
303
314
 
315
+ function serialize_payment_GameplayPrecisionResult(arg) {
316
+ if (!(arg instanceof payment_pb.GameplayPrecisionResult)) {
317
+ throw new Error('Expected argument of type payment.GameplayPrecisionResult');
318
+ }
319
+ return Buffer.from(arg.serializeBinary());
320
+ }
321
+
322
+ function deserialize_payment_GameplayPrecisionResult(buffer_arg) {
323
+ return payment_pb.GameplayPrecisionResult.deserializeBinary(new Uint8Array(buffer_arg));
324
+ }
325
+
326
+ function serialize_payment_GameplayPrecisionSessionRequest(arg) {
327
+ if (!(arg instanceof payment_pb.GameplayPrecisionSessionRequest)) {
328
+ throw new Error('Expected argument of type payment.GameplayPrecisionSessionRequest');
329
+ }
330
+ return Buffer.from(arg.serializeBinary());
331
+ }
332
+
333
+ function deserialize_payment_GameplayPrecisionSessionRequest(buffer_arg) {
334
+ return payment_pb.GameplayPrecisionSessionRequest.deserializeBinary(new Uint8Array(buffer_arg));
335
+ }
336
+
304
337
  function serialize_payment_GetCurrenciesMetadataRequest(arg) {
305
338
  if (!(arg instanceof payment_pb.GetCurrenciesMetadataRequest)) {
306
339
  throw new Error('Expected argument of type payment.GetCurrenciesMetadataRequest');
@@ -796,6 +829,17 @@ function deserialize_payment_ProviderTranslationResponse(buffer_arg) {
796
829
  return payment_pb.ProviderTranslationResponse.deserializeBinary(new Uint8Array(buffer_arg));
797
830
  }
798
831
 
832
+ function serialize_payment_RegisterGameplayPrecisionSessionRequest(arg) {
833
+ if (!(arg instanceof payment_pb.RegisterGameplayPrecisionSessionRequest)) {
834
+ throw new Error('Expected argument of type payment.RegisterGameplayPrecisionSessionRequest');
835
+ }
836
+ return Buffer.from(arg.serializeBinary());
837
+ }
838
+
839
+ function deserialize_payment_RegisterGameplayPrecisionSessionRequest(buffer_arg) {
840
+ return payment_pb.RegisterGameplayPrecisionSessionRequest.deserializeBinary(new Uint8Array(buffer_arg));
841
+ }
842
+
799
843
  function serialize_payment_ResolveGameWalletContextRequest(arg) {
800
844
  if (!(arg instanceof payment_pb.ResolveGameWalletContextRequest)) {
801
845
  throw new Error('Expected argument of type payment.ResolveGameWalletContextRequest');
@@ -1499,6 +1543,51 @@ userPaymentsInfo: {
1499
1543
  responseSerialize: serialize_payment_ResolveGameWalletContextResponse,
1500
1544
  responseDeserialize: deserialize_payment_ResolveGameWalletContextResponse,
1501
1545
  },
1546
+ // Opt-in, commit-confirmed cross-currency gameplay. Legacy RPCs are unchanged.
1547
+ registerGameplayPrecisionSession: {
1548
+ path: '/payment.Payment/registerGameplayPrecisionSession',
1549
+ requestStream: false,
1550
+ responseStream: false,
1551
+ requestType: payment_pb.RegisterGameplayPrecisionSessionRequest,
1552
+ responseType: payment_pb.GameplayPrecisionResult,
1553
+ requestSerialize: serialize_payment_RegisterGameplayPrecisionSessionRequest,
1554
+ requestDeserialize: deserialize_payment_RegisterGameplayPrecisionSessionRequest,
1555
+ responseSerialize: serialize_payment_GameplayPrecisionResult,
1556
+ responseDeserialize: deserialize_payment_GameplayPrecisionResult,
1557
+ },
1558
+ executeGameplayPrecisionCommand: {
1559
+ path: '/payment.Payment/executeGameplayPrecisionCommand',
1560
+ requestStream: false,
1561
+ responseStream: false,
1562
+ requestType: payment_pb.ExecuteGameplayPrecisionCommandRequest,
1563
+ responseType: payment_pb.GameplayPrecisionResult,
1564
+ requestSerialize: serialize_payment_ExecuteGameplayPrecisionCommandRequest,
1565
+ requestDeserialize: deserialize_payment_ExecuteGameplayPrecisionCommandRequest,
1566
+ responseSerialize: serialize_payment_GameplayPrecisionResult,
1567
+ responseDeserialize: deserialize_payment_GameplayPrecisionResult,
1568
+ },
1569
+ readGameplayPrecisionBalance: {
1570
+ path: '/payment.Payment/readGameplayPrecisionBalance',
1571
+ requestStream: false,
1572
+ responseStream: false,
1573
+ requestType: payment_pb.GameplayPrecisionSessionRequest,
1574
+ responseType: payment_pb.GameplayPrecisionResult,
1575
+ requestSerialize: serialize_payment_GameplayPrecisionSessionRequest,
1576
+ requestDeserialize: deserialize_payment_GameplayPrecisionSessionRequest,
1577
+ responseSerialize: serialize_payment_GameplayPrecisionResult,
1578
+ responseDeserialize: deserialize_payment_GameplayPrecisionResult,
1579
+ },
1580
+ closeGameplayPrecisionSession: {
1581
+ path: '/payment.Payment/closeGameplayPrecisionSession',
1582
+ requestStream: false,
1583
+ responseStream: false,
1584
+ requestType: payment_pb.GameplayPrecisionSessionRequest,
1585
+ responseType: payment_pb.GameplayPrecisionResult,
1586
+ requestSerialize: serialize_payment_GameplayPrecisionSessionRequest,
1587
+ requestDeserialize: deserialize_payment_GameplayPrecisionSessionRequest,
1588
+ responseSerialize: serialize_payment_GameplayPrecisionResult,
1589
+ responseDeserialize: deserialize_payment_GameplayPrecisionResult,
1590
+ },
1502
1591
  // Segmentation
1503
1592
  getSegmentedUsers: {
1504
1593
  path: '/payment.Payment/getSegmentedUsers',