coreum-js 2.7.0 → 2.8.1

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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/dist/main/client/index.d.ts +3 -3
  3. package/dist/main/client/index.js +11 -8
  4. package/dist/main/coreum/asset/ft/v1/token.d.ts +1 -2
  5. package/dist/main/coreum/asset/ft/v1/token.js +34 -19
  6. package/dist/main/coreum/asset/nft/v1/nft.d.ts +1 -2
  7. package/dist/main/coreum/asset/nft/v1/nft.js +2 -8
  8. package/dist/main/coreum/index.d.ts +2 -0
  9. package/dist/main/coreum/index.js +6 -2
  10. package/dist/main/cosmos/crypto/multisig/v1beta1/multisig.d.ts +67 -0
  11. package/dist/main/cosmos/crypto/multisig/v1beta1/multisig.js +173 -0
  12. package/dist/main/cosmos/index.d.ts +1 -0
  13. package/dist/main/cosmos/index.js +16 -1
  14. package/dist/main/cosmos/tx/signing/v1beta1/signing.d.ts +1938 -0
  15. package/dist/main/cosmos/tx/signing/v1beta1/signing.js +547 -0
  16. package/dist/main/cosmos/tx/v1beta1/tx.d.ts +3468 -0
  17. package/dist/main/cosmos/tx/v1beta1/tx.js +1277 -0
  18. package/dist/main/signers/index.d.ts +0 -1
  19. package/dist/main/signers/index.js +1 -2
  20. package/dist/main/types/msgs.d.ts +13 -13
  21. package/dist/main/types/signing.d.ts +0 -1
  22. package/dist/main/types/signing.js +1 -2
  23. package/dist/module/client/index.d.ts +3 -3
  24. package/dist/module/client/index.js +6 -3
  25. package/dist/module/coreum/asset/ft/v1/token.d.ts +1 -2
  26. package/dist/module/coreum/asset/ft/v1/token.js +34 -19
  27. package/dist/module/coreum/asset/nft/v1/nft.d.ts +1 -2
  28. package/dist/module/coreum/asset/nft/v1/nft.js +2 -8
  29. package/dist/module/coreum/index.d.ts +2 -0
  30. package/dist/module/coreum/index.js +3 -1
  31. package/dist/module/cosmos/crypto/multisig/v1beta1/multisig.d.ts +67 -0
  32. package/dist/module/cosmos/crypto/multisig/v1beta1/multisig.js +165 -0
  33. package/dist/module/cosmos/index.d.ts +1 -0
  34. package/dist/module/cosmos/index.js +2 -1
  35. package/dist/module/cosmos/tx/signing/v1beta1/signing.d.ts +1938 -0
  36. package/dist/module/cosmos/tx/signing/v1beta1/signing.js +535 -0
  37. package/dist/module/cosmos/tx/v1beta1/tx.d.ts +3468 -0
  38. package/dist/module/cosmos/tx/v1beta1/tx.js +1259 -0
  39. package/dist/module/signers/index.d.ts +0 -1
  40. package/dist/module/signers/index.js +1 -2
  41. package/dist/module/types/msgs.d.ts +13 -13
  42. package/dist/module/types/signing.d.ts +0 -1
  43. package/dist/module/types/signing.js +1 -2
  44. package/package.json +6 -13
  45. package/CHANGELOG.md +0 -345
  46. package/dist/main/signers/dcent.d.ts +0 -1
  47. package/dist/main/signers/dcent.js +0 -41
  48. package/dist/module/signers/dcent.d.ts +0 -1
  49. package/dist/module/signers/dcent.js +0 -31
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SignatureDescriptor_Data_Multi = exports.SignatureDescriptor_Data_Single = exports.SignatureDescriptor_Data = exports.SignatureDescriptor = exports.SignatureDescriptors = exports.signModeToJSON = exports.signModeFromJSON = exports.SignMode = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ const any_1 = require("../../../../google/protobuf/any");
11
+ const multisig_1 = require("../../../crypto/multisig/v1beta1/multisig");
12
+ exports.protobufPackage = "cosmos.tx.signing.v1beta1";
13
+ /**
14
+ * SignMode represents a signing mode with its own security guarantees.
15
+ *
16
+ * This enum should be considered a registry of all known sign modes
17
+ * in the Cosmos ecosystem. Apps are not expected to support all known
18
+ * sign modes. Apps that would like to support custom sign modes are
19
+ * encouraged to open a small PR against this file to add a new case
20
+ * to this SignMode enum describing their sign mode so that different
21
+ * apps have a consistent version of this enum.
22
+ */
23
+ var SignMode;
24
+ (function (SignMode) {
25
+ /**
26
+ * SIGN_MODE_UNSPECIFIED - SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be
27
+ * rejected.
28
+ */
29
+ SignMode[SignMode["SIGN_MODE_UNSPECIFIED"] = 0] = "SIGN_MODE_UNSPECIFIED";
30
+ /**
31
+ * SIGN_MODE_DIRECT - SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is
32
+ * verified with raw bytes from Tx.
33
+ */
34
+ SignMode[SignMode["SIGN_MODE_DIRECT"] = 1] = "SIGN_MODE_DIRECT";
35
+ /**
36
+ * SIGN_MODE_TEXTUAL - SIGN_MODE_TEXTUAL is a future signing mode that will verify some
37
+ * human-readable textual representation on top of the binary representation
38
+ * from SIGN_MODE_DIRECT. It is currently experimental, and should be used
39
+ * for testing purposes only, until Textual is fully released. Please follow
40
+ * the tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970.
41
+ */
42
+ SignMode[SignMode["SIGN_MODE_TEXTUAL"] = 2] = "SIGN_MODE_TEXTUAL";
43
+ /**
44
+ * SIGN_MODE_DIRECT_AUX - SIGN_MODE_DIRECT_AUX specifies a signing mode which uses
45
+ * SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not
46
+ * require signers signing over other signers' `signer_info`. It also allows
47
+ * for adding Tips in transactions.
48
+ *
49
+ * Since: cosmos-sdk 0.46
50
+ */
51
+ SignMode[SignMode["SIGN_MODE_DIRECT_AUX"] = 3] = "SIGN_MODE_DIRECT_AUX";
52
+ /**
53
+ * SIGN_MODE_LEGACY_AMINO_JSON - SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses
54
+ * Amino JSON and will be removed in the future.
55
+ */
56
+ SignMode[SignMode["SIGN_MODE_LEGACY_AMINO_JSON"] = 127] = "SIGN_MODE_LEGACY_AMINO_JSON";
57
+ /**
58
+ * SIGN_MODE_EIP_191 - SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos
59
+ * SDK. Ref: https://eips.ethereum.org/EIPS/eip-191
60
+ *
61
+ * Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,
62
+ * but is not implemented on the SDK by default. To enable EIP-191, you need
63
+ * to pass a custom `TxConfig` that has an implementation of
64
+ * `SignModeHandler` for EIP-191. The SDK may decide to fully support
65
+ * EIP-191 in the future.
66
+ *
67
+ * Since: cosmos-sdk 0.45.2
68
+ */
69
+ SignMode[SignMode["SIGN_MODE_EIP_191"] = 191] = "SIGN_MODE_EIP_191";
70
+ SignMode[SignMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
71
+ })(SignMode = exports.SignMode || (exports.SignMode = {}));
72
+ function signModeFromJSON(object) {
73
+ switch (object) {
74
+ case 0:
75
+ case "SIGN_MODE_UNSPECIFIED":
76
+ return SignMode.SIGN_MODE_UNSPECIFIED;
77
+ case 1:
78
+ case "SIGN_MODE_DIRECT":
79
+ return SignMode.SIGN_MODE_DIRECT;
80
+ case 2:
81
+ case "SIGN_MODE_TEXTUAL":
82
+ return SignMode.SIGN_MODE_TEXTUAL;
83
+ case 3:
84
+ case "SIGN_MODE_DIRECT_AUX":
85
+ return SignMode.SIGN_MODE_DIRECT_AUX;
86
+ case 127:
87
+ case "SIGN_MODE_LEGACY_AMINO_JSON":
88
+ return SignMode.SIGN_MODE_LEGACY_AMINO_JSON;
89
+ case 191:
90
+ case "SIGN_MODE_EIP_191":
91
+ return SignMode.SIGN_MODE_EIP_191;
92
+ case -1:
93
+ case "UNRECOGNIZED":
94
+ default:
95
+ return SignMode.UNRECOGNIZED;
96
+ }
97
+ }
98
+ exports.signModeFromJSON = signModeFromJSON;
99
+ function signModeToJSON(object) {
100
+ switch (object) {
101
+ case SignMode.SIGN_MODE_UNSPECIFIED:
102
+ return "SIGN_MODE_UNSPECIFIED";
103
+ case SignMode.SIGN_MODE_DIRECT:
104
+ return "SIGN_MODE_DIRECT";
105
+ case SignMode.SIGN_MODE_TEXTUAL:
106
+ return "SIGN_MODE_TEXTUAL";
107
+ case SignMode.SIGN_MODE_DIRECT_AUX:
108
+ return "SIGN_MODE_DIRECT_AUX";
109
+ case SignMode.SIGN_MODE_LEGACY_AMINO_JSON:
110
+ return "SIGN_MODE_LEGACY_AMINO_JSON";
111
+ case SignMode.SIGN_MODE_EIP_191:
112
+ return "SIGN_MODE_EIP_191";
113
+ case SignMode.UNRECOGNIZED:
114
+ default:
115
+ return "UNRECOGNIZED";
116
+ }
117
+ }
118
+ exports.signModeToJSON = signModeToJSON;
119
+ function createBaseSignatureDescriptors() {
120
+ return { signatures: [] };
121
+ }
122
+ exports.SignatureDescriptors = {
123
+ encode(message, writer = minimal_1.default.Writer.create()) {
124
+ for (const v of message.signatures) {
125
+ exports.SignatureDescriptor.encode(v, writer.uint32(10).fork()).ldelim();
126
+ }
127
+ return writer;
128
+ },
129
+ decode(input, length) {
130
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
131
+ let end = length === undefined ? reader.len : reader.pos + length;
132
+ const message = createBaseSignatureDescriptors();
133
+ while (reader.pos < end) {
134
+ const tag = reader.uint32();
135
+ switch (tag >>> 3) {
136
+ case 1:
137
+ if (tag !== 10) {
138
+ break;
139
+ }
140
+ message.signatures.push(exports.SignatureDescriptor.decode(reader, reader.uint32()));
141
+ continue;
142
+ }
143
+ if ((tag & 7) === 4 || tag === 0) {
144
+ break;
145
+ }
146
+ reader.skipType(tag & 7);
147
+ }
148
+ return message;
149
+ },
150
+ fromJSON(object) {
151
+ return {
152
+ signatures: Array.isArray(object === null || object === void 0 ? void 0 : object.signatures)
153
+ ? object.signatures.map((e) => exports.SignatureDescriptor.fromJSON(e))
154
+ : [],
155
+ };
156
+ },
157
+ toJSON(message) {
158
+ const obj = {};
159
+ if (message.signatures) {
160
+ obj.signatures = message.signatures.map((e) => e ? exports.SignatureDescriptor.toJSON(e) : undefined);
161
+ }
162
+ else {
163
+ obj.signatures = [];
164
+ }
165
+ return obj;
166
+ },
167
+ create(base) {
168
+ return exports.SignatureDescriptors.fromPartial(base !== null && base !== void 0 ? base : {});
169
+ },
170
+ fromPartial(object) {
171
+ var _a;
172
+ const message = createBaseSignatureDescriptors();
173
+ message.signatures =
174
+ ((_a = object.signatures) === null || _a === void 0 ? void 0 : _a.map((e) => exports.SignatureDescriptor.fromPartial(e))) || [];
175
+ return message;
176
+ },
177
+ };
178
+ function createBaseSignatureDescriptor() {
179
+ return { publicKey: undefined, data: undefined, sequence: 0 };
180
+ }
181
+ exports.SignatureDescriptor = {
182
+ encode(message, writer = minimal_1.default.Writer.create()) {
183
+ if (message.publicKey !== undefined) {
184
+ any_1.Any.encode(message.publicKey, writer.uint32(10).fork()).ldelim();
185
+ }
186
+ if (message.data !== undefined) {
187
+ exports.SignatureDescriptor_Data.encode(message.data, writer.uint32(18).fork()).ldelim();
188
+ }
189
+ if (message.sequence !== 0) {
190
+ writer.uint32(24).uint64(message.sequence);
191
+ }
192
+ return writer;
193
+ },
194
+ decode(input, length) {
195
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
196
+ let end = length === undefined ? reader.len : reader.pos + length;
197
+ const message = createBaseSignatureDescriptor();
198
+ while (reader.pos < end) {
199
+ const tag = reader.uint32();
200
+ switch (tag >>> 3) {
201
+ case 1:
202
+ if (tag !== 10) {
203
+ break;
204
+ }
205
+ message.publicKey = any_1.Any.decode(reader, reader.uint32());
206
+ continue;
207
+ case 2:
208
+ if (tag !== 18) {
209
+ break;
210
+ }
211
+ message.data = exports.SignatureDescriptor_Data.decode(reader, reader.uint32());
212
+ continue;
213
+ case 3:
214
+ if (tag !== 24) {
215
+ break;
216
+ }
217
+ message.sequence = longToNumber(reader.uint64());
218
+ continue;
219
+ }
220
+ if ((tag & 7) === 4 || tag === 0) {
221
+ break;
222
+ }
223
+ reader.skipType(tag & 7);
224
+ }
225
+ return message;
226
+ },
227
+ fromJSON(object) {
228
+ return {
229
+ publicKey: isSet(object.publicKey)
230
+ ? any_1.Any.fromJSON(object.publicKey)
231
+ : undefined,
232
+ data: isSet(object.data)
233
+ ? exports.SignatureDescriptor_Data.fromJSON(object.data)
234
+ : undefined,
235
+ sequence: isSet(object.sequence) ? Number(object.sequence) : 0,
236
+ };
237
+ },
238
+ toJSON(message) {
239
+ const obj = {};
240
+ message.publicKey !== undefined &&
241
+ (obj.publicKey = message.publicKey
242
+ ? any_1.Any.toJSON(message.publicKey)
243
+ : undefined);
244
+ message.data !== undefined &&
245
+ (obj.data = message.data
246
+ ? exports.SignatureDescriptor_Data.toJSON(message.data)
247
+ : undefined);
248
+ message.sequence !== undefined &&
249
+ (obj.sequence = Math.round(message.sequence));
250
+ return obj;
251
+ },
252
+ create(base) {
253
+ return exports.SignatureDescriptor.fromPartial(base !== null && base !== void 0 ? base : {});
254
+ },
255
+ fromPartial(object) {
256
+ var _a;
257
+ const message = createBaseSignatureDescriptor();
258
+ message.publicKey =
259
+ object.publicKey !== undefined && object.publicKey !== null
260
+ ? any_1.Any.fromPartial(object.publicKey)
261
+ : undefined;
262
+ message.data =
263
+ object.data !== undefined && object.data !== null
264
+ ? exports.SignatureDescriptor_Data.fromPartial(object.data)
265
+ : undefined;
266
+ message.sequence = (_a = object.sequence) !== null && _a !== void 0 ? _a : 0;
267
+ return message;
268
+ },
269
+ };
270
+ function createBaseSignatureDescriptor_Data() {
271
+ return { single: undefined, multi: undefined };
272
+ }
273
+ exports.SignatureDescriptor_Data = {
274
+ encode(message, writer = minimal_1.default.Writer.create()) {
275
+ if (message.single !== undefined) {
276
+ exports.SignatureDescriptor_Data_Single.encode(message.single, writer.uint32(10).fork()).ldelim();
277
+ }
278
+ if (message.multi !== undefined) {
279
+ exports.SignatureDescriptor_Data_Multi.encode(message.multi, writer.uint32(18).fork()).ldelim();
280
+ }
281
+ return writer;
282
+ },
283
+ decode(input, length) {
284
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
285
+ let end = length === undefined ? reader.len : reader.pos + length;
286
+ const message = createBaseSignatureDescriptor_Data();
287
+ while (reader.pos < end) {
288
+ const tag = reader.uint32();
289
+ switch (tag >>> 3) {
290
+ case 1:
291
+ if (tag !== 10) {
292
+ break;
293
+ }
294
+ message.single = exports.SignatureDescriptor_Data_Single.decode(reader, reader.uint32());
295
+ continue;
296
+ case 2:
297
+ if (tag !== 18) {
298
+ break;
299
+ }
300
+ message.multi = exports.SignatureDescriptor_Data_Multi.decode(reader, reader.uint32());
301
+ continue;
302
+ }
303
+ if ((tag & 7) === 4 || tag === 0) {
304
+ break;
305
+ }
306
+ reader.skipType(tag & 7);
307
+ }
308
+ return message;
309
+ },
310
+ fromJSON(object) {
311
+ return {
312
+ single: isSet(object.single)
313
+ ? exports.SignatureDescriptor_Data_Single.fromJSON(object.single)
314
+ : undefined,
315
+ multi: isSet(object.multi)
316
+ ? exports.SignatureDescriptor_Data_Multi.fromJSON(object.multi)
317
+ : undefined,
318
+ };
319
+ },
320
+ toJSON(message) {
321
+ const obj = {};
322
+ message.single !== undefined &&
323
+ (obj.single = message.single
324
+ ? exports.SignatureDescriptor_Data_Single.toJSON(message.single)
325
+ : undefined);
326
+ message.multi !== undefined &&
327
+ (obj.multi = message.multi
328
+ ? exports.SignatureDescriptor_Data_Multi.toJSON(message.multi)
329
+ : undefined);
330
+ return obj;
331
+ },
332
+ create(base) {
333
+ return exports.SignatureDescriptor_Data.fromPartial(base !== null && base !== void 0 ? base : {});
334
+ },
335
+ fromPartial(object) {
336
+ const message = createBaseSignatureDescriptor_Data();
337
+ message.single =
338
+ object.single !== undefined && object.single !== null
339
+ ? exports.SignatureDescriptor_Data_Single.fromPartial(object.single)
340
+ : undefined;
341
+ message.multi =
342
+ object.multi !== undefined && object.multi !== null
343
+ ? exports.SignatureDescriptor_Data_Multi.fromPartial(object.multi)
344
+ : undefined;
345
+ return message;
346
+ },
347
+ };
348
+ function createBaseSignatureDescriptor_Data_Single() {
349
+ return { mode: 0, signature: new Uint8Array() };
350
+ }
351
+ exports.SignatureDescriptor_Data_Single = {
352
+ encode(message, writer = minimal_1.default.Writer.create()) {
353
+ if (message.mode !== 0) {
354
+ writer.uint32(8).int32(message.mode);
355
+ }
356
+ if (message.signature.length !== 0) {
357
+ writer.uint32(18).bytes(message.signature);
358
+ }
359
+ return writer;
360
+ },
361
+ decode(input, length) {
362
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
363
+ let end = length === undefined ? reader.len : reader.pos + length;
364
+ const message = createBaseSignatureDescriptor_Data_Single();
365
+ while (reader.pos < end) {
366
+ const tag = reader.uint32();
367
+ switch (tag >>> 3) {
368
+ case 1:
369
+ if (tag !== 8) {
370
+ break;
371
+ }
372
+ message.mode = reader.int32();
373
+ continue;
374
+ case 2:
375
+ if (tag !== 18) {
376
+ break;
377
+ }
378
+ message.signature = reader.bytes();
379
+ continue;
380
+ }
381
+ if ((tag & 7) === 4 || tag === 0) {
382
+ break;
383
+ }
384
+ reader.skipType(tag & 7);
385
+ }
386
+ return message;
387
+ },
388
+ fromJSON(object) {
389
+ return {
390
+ mode: isSet(object.mode) ? signModeFromJSON(object.mode) : 0,
391
+ signature: isSet(object.signature)
392
+ ? bytesFromBase64(object.signature)
393
+ : new Uint8Array(),
394
+ };
395
+ },
396
+ toJSON(message) {
397
+ const obj = {};
398
+ message.mode !== undefined && (obj.mode = signModeToJSON(message.mode));
399
+ message.signature !== undefined &&
400
+ (obj.signature = base64FromBytes(message.signature !== undefined ? message.signature : new Uint8Array()));
401
+ return obj;
402
+ },
403
+ create(base) {
404
+ return exports.SignatureDescriptor_Data_Single.fromPartial(base !== null && base !== void 0 ? base : {});
405
+ },
406
+ fromPartial(object) {
407
+ var _a, _b;
408
+ const message = createBaseSignatureDescriptor_Data_Single();
409
+ message.mode = (_a = object.mode) !== null && _a !== void 0 ? _a : 0;
410
+ message.signature = (_b = object.signature) !== null && _b !== void 0 ? _b : new Uint8Array();
411
+ return message;
412
+ },
413
+ };
414
+ function createBaseSignatureDescriptor_Data_Multi() {
415
+ return { bitarray: undefined, signatures: [] };
416
+ }
417
+ exports.SignatureDescriptor_Data_Multi = {
418
+ encode(message, writer = minimal_1.default.Writer.create()) {
419
+ if (message.bitarray !== undefined) {
420
+ multisig_1.CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).ldelim();
421
+ }
422
+ for (const v of message.signatures) {
423
+ exports.SignatureDescriptor_Data.encode(v, writer.uint32(18).fork()).ldelim();
424
+ }
425
+ return writer;
426
+ },
427
+ decode(input, length) {
428
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
429
+ let end = length === undefined ? reader.len : reader.pos + length;
430
+ const message = createBaseSignatureDescriptor_Data_Multi();
431
+ while (reader.pos < end) {
432
+ const tag = reader.uint32();
433
+ switch (tag >>> 3) {
434
+ case 1:
435
+ if (tag !== 10) {
436
+ break;
437
+ }
438
+ message.bitarray = multisig_1.CompactBitArray.decode(reader, reader.uint32());
439
+ continue;
440
+ case 2:
441
+ if (tag !== 18) {
442
+ break;
443
+ }
444
+ message.signatures.push(exports.SignatureDescriptor_Data.decode(reader, reader.uint32()));
445
+ continue;
446
+ }
447
+ if ((tag & 7) === 4 || tag === 0) {
448
+ break;
449
+ }
450
+ reader.skipType(tag & 7);
451
+ }
452
+ return message;
453
+ },
454
+ fromJSON(object) {
455
+ return {
456
+ bitarray: isSet(object.bitarray)
457
+ ? multisig_1.CompactBitArray.fromJSON(object.bitarray)
458
+ : undefined,
459
+ signatures: Array.isArray(object === null || object === void 0 ? void 0 : object.signatures)
460
+ ? object.signatures.map((e) => exports.SignatureDescriptor_Data.fromJSON(e))
461
+ : [],
462
+ };
463
+ },
464
+ toJSON(message) {
465
+ const obj = {};
466
+ message.bitarray !== undefined &&
467
+ (obj.bitarray = message.bitarray
468
+ ? multisig_1.CompactBitArray.toJSON(message.bitarray)
469
+ : undefined);
470
+ if (message.signatures) {
471
+ obj.signatures = message.signatures.map((e) => e ? exports.SignatureDescriptor_Data.toJSON(e) : undefined);
472
+ }
473
+ else {
474
+ obj.signatures = [];
475
+ }
476
+ return obj;
477
+ },
478
+ create(base) {
479
+ return exports.SignatureDescriptor_Data_Multi.fromPartial(base !== null && base !== void 0 ? base : {});
480
+ },
481
+ fromPartial(object) {
482
+ var _a;
483
+ const message = createBaseSignatureDescriptor_Data_Multi();
484
+ message.bitarray =
485
+ object.bitarray !== undefined && object.bitarray !== null
486
+ ? multisig_1.CompactBitArray.fromPartial(object.bitarray)
487
+ : undefined;
488
+ message.signatures =
489
+ ((_a = object.signatures) === null || _a === void 0 ? void 0 : _a.map((e) => exports.SignatureDescriptor_Data.fromPartial(e))) ||
490
+ [];
491
+ return message;
492
+ },
493
+ };
494
+ var tsProtoGlobalThis = (() => {
495
+ if (typeof globalThis !== "undefined") {
496
+ return globalThis;
497
+ }
498
+ if (typeof self !== "undefined") {
499
+ return self;
500
+ }
501
+ if (typeof window !== "undefined") {
502
+ return window;
503
+ }
504
+ if (typeof global !== "undefined") {
505
+ return global;
506
+ }
507
+ throw "Unable to locate global object";
508
+ })();
509
+ function bytesFromBase64(b64) {
510
+ if (tsProtoGlobalThis.Buffer) {
511
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
512
+ }
513
+ else {
514
+ const bin = tsProtoGlobalThis.atob(b64);
515
+ const arr = new Uint8Array(bin.length);
516
+ for (let i = 0; i < bin.length; ++i) {
517
+ arr[i] = bin.charCodeAt(i);
518
+ }
519
+ return arr;
520
+ }
521
+ }
522
+ function base64FromBytes(arr) {
523
+ if (tsProtoGlobalThis.Buffer) {
524
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
525
+ }
526
+ else {
527
+ const bin = [];
528
+ arr.forEach((byte) => {
529
+ bin.push(String.fromCharCode(byte));
530
+ });
531
+ return tsProtoGlobalThis.btoa(bin.join(""));
532
+ }
533
+ }
534
+ function longToNumber(long) {
535
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
536
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
537
+ }
538
+ return long.toNumber();
539
+ }
540
+ if (minimal_1.default.util.Long !== long_1.default) {
541
+ minimal_1.default.util.Long = long_1.default;
542
+ minimal_1.default.configure();
543
+ }
544
+ function isSet(value) {
545
+ return value !== null && value !== undefined;
546
+ }
547
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3Ntb3MvdHgvc2lnbmluZy92MWJldGExL3NpZ25pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixpRUFBcUM7QUFDckMseURBQXNEO0FBQ3RELHdFQUE0RTtBQUUvRCxRQUFBLGVBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUUzRDs7Ozs7Ozs7O0dBU0c7QUFDSCxJQUFZLFFBK0NYO0FBL0NELFdBQVksUUFBUTtJQUNsQjs7O09BR0c7SUFDSCx5RUFBeUIsQ0FBQTtJQUN6Qjs7O09BR0c7SUFDSCwrREFBb0IsQ0FBQTtJQUNwQjs7Ozs7O09BTUc7SUFDSCxpRUFBcUIsQ0FBQTtJQUNyQjs7Ozs7OztPQU9HO0lBQ0gsdUVBQXdCLENBQUE7SUFDeEI7OztPQUdHO0lBQ0gsdUZBQWlDLENBQUE7SUFDakM7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxtRUFBdUIsQ0FBQTtJQUN2Qix3REFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBL0NXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBK0NuQjtBQUVELFNBQWdCLGdCQUFnQixDQUFDLE1BQVc7SUFDMUMsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssdUJBQXVCO1lBQzFCLE9BQU8sUUFBUSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hDLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxrQkFBa0I7WUFDckIsT0FBTyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDbkMsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLG1CQUFtQjtZQUN0QixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNwQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssc0JBQXNCO1lBQ3pCLE9BQU8sUUFBUSxDQUFDLG9CQUFvQixDQUFDO1FBQ3ZD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