coreum-js 2.5.10 → 2.5.11

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.
@@ -0,0 +1,229 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ import { Any } from "../../../google/protobuf/any";
3
+ export declare const protobufPackage = "cosmos.auth.v1beta1";
4
+ /**
5
+ * BaseAccount defines a base account type. It contains all the necessary fields
6
+ * for basic account functionality. Any custom account type should extend this
7
+ * type for additional functionality (e.g. vesting).
8
+ */
9
+ export interface BaseAccount {
10
+ address: string;
11
+ pubKey: Any | undefined;
12
+ accountNumber: number;
13
+ sequence: number;
14
+ }
15
+ /** ModuleAccount defines an account for modules that holds coins on a pool. */
16
+ export interface ModuleAccount {
17
+ baseAccount: BaseAccount | undefined;
18
+ name: string;
19
+ permissions: string[];
20
+ }
21
+ /**
22
+ * ModuleCredential represents a unclaimable pubkey for base accounts controlled by modules.
23
+ *
24
+ * Since: cosmos-sdk 0.47
25
+ */
26
+ export interface ModuleCredential {
27
+ /** module_name is the name of the module used for address derivation (passed into address.Module). */
28
+ moduleName: string;
29
+ /**
30
+ * derivation_keys is for deriving a module account address (passed into address.Module)
31
+ * adding more keys creates sub-account addresses (passed into address.Derive)
32
+ */
33
+ derivationKeys: Uint8Array[];
34
+ }
35
+ /** Params defines the parameters for the auth module. */
36
+ export interface Params {
37
+ maxMemoCharacters: number;
38
+ txSigLimit: number;
39
+ txSizeCostPerByte: number;
40
+ sigVerifyCostEd25519: number;
41
+ sigVerifyCostSecp256k1: number;
42
+ }
43
+ export declare const BaseAccount: {
44
+ encode(message: BaseAccount, writer?: _m0.Writer): _m0.Writer;
45
+ decode(input: _m0.Reader | Uint8Array, length?: number): BaseAccount;
46
+ fromJSON(object: any): BaseAccount;
47
+ toJSON(message: BaseAccount): unknown;
48
+ create<I extends {
49
+ address?: string;
50
+ pubKey?: {
51
+ typeUrl?: string;
52
+ value?: Uint8Array;
53
+ };
54
+ accountNumber?: number;
55
+ sequence?: number;
56
+ } & {
57
+ address?: string;
58
+ pubKey?: {
59
+ typeUrl?: string;
60
+ value?: Uint8Array;
61
+ } & {
62
+ typeUrl?: string;
63
+ value?: Uint8Array;
64
+ } & { [K in Exclude<keyof I["pubKey"], keyof Any>]: never; };
65
+ accountNumber?: number;
66
+ sequence?: number;
67
+ } & { [K_1 in Exclude<keyof I, keyof BaseAccount>]: never; }>(base?: I): BaseAccount;
68
+ fromPartial<I_1 extends {
69
+ address?: string;
70
+ pubKey?: {
71
+ typeUrl?: string;
72
+ value?: Uint8Array;
73
+ };
74
+ accountNumber?: number;
75
+ sequence?: number;
76
+ } & {
77
+ address?: string;
78
+ pubKey?: {
79
+ typeUrl?: string;
80
+ value?: Uint8Array;
81
+ } & {
82
+ typeUrl?: string;
83
+ value?: Uint8Array;
84
+ } & { [K_2 in Exclude<keyof I_1["pubKey"], keyof Any>]: never; };
85
+ accountNumber?: number;
86
+ sequence?: number;
87
+ } & { [K_3 in Exclude<keyof I_1, keyof BaseAccount>]: never; }>(object: I_1): BaseAccount;
88
+ };
89
+ export declare const ModuleAccount: {
90
+ encode(message: ModuleAccount, writer?: _m0.Writer): _m0.Writer;
91
+ decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccount;
92
+ fromJSON(object: any): ModuleAccount;
93
+ toJSON(message: ModuleAccount): unknown;
94
+ create<I extends {
95
+ baseAccount?: {
96
+ address?: string;
97
+ pubKey?: {
98
+ typeUrl?: string;
99
+ value?: Uint8Array;
100
+ };
101
+ accountNumber?: number;
102
+ sequence?: number;
103
+ };
104
+ name?: string;
105
+ permissions?: string[];
106
+ } & {
107
+ baseAccount?: {
108
+ address?: string;
109
+ pubKey?: {
110
+ typeUrl?: string;
111
+ value?: Uint8Array;
112
+ };
113
+ accountNumber?: number;
114
+ sequence?: number;
115
+ } & {
116
+ address?: string;
117
+ pubKey?: {
118
+ typeUrl?: string;
119
+ value?: Uint8Array;
120
+ } & {
121
+ typeUrl?: string;
122
+ value?: Uint8Array;
123
+ } & { [K in Exclude<keyof I["baseAccount"]["pubKey"], keyof Any>]: never; };
124
+ accountNumber?: number;
125
+ sequence?: number;
126
+ } & { [K_1 in Exclude<keyof I["baseAccount"], keyof BaseAccount>]: never; };
127
+ name?: string;
128
+ permissions?: string[] & string[] & { [K_2 in Exclude<keyof I["permissions"], keyof string[]>]: never; };
129
+ } & { [K_3 in Exclude<keyof I, keyof ModuleAccount>]: never; }>(base?: I): ModuleAccount;
130
+ fromPartial<I_1 extends {
131
+ baseAccount?: {
132
+ address?: string;
133
+ pubKey?: {
134
+ typeUrl?: string;
135
+ value?: Uint8Array;
136
+ };
137
+ accountNumber?: number;
138
+ sequence?: number;
139
+ };
140
+ name?: string;
141
+ permissions?: string[];
142
+ } & {
143
+ baseAccount?: {
144
+ address?: string;
145
+ pubKey?: {
146
+ typeUrl?: string;
147
+ value?: Uint8Array;
148
+ };
149
+ accountNumber?: number;
150
+ sequence?: number;
151
+ } & {
152
+ address?: string;
153
+ pubKey?: {
154
+ typeUrl?: string;
155
+ value?: Uint8Array;
156
+ } & {
157
+ typeUrl?: string;
158
+ value?: Uint8Array;
159
+ } & { [K_4 in Exclude<keyof I_1["baseAccount"]["pubKey"], keyof Any>]: never; };
160
+ accountNumber?: number;
161
+ sequence?: number;
162
+ } & { [K_5 in Exclude<keyof I_1["baseAccount"], keyof BaseAccount>]: never; };
163
+ name?: string;
164
+ permissions?: string[] & string[] & { [K_6 in Exclude<keyof I_1["permissions"], keyof string[]>]: never; };
165
+ } & { [K_7 in Exclude<keyof I_1, keyof ModuleAccount>]: never; }>(object: I_1): ModuleAccount;
166
+ };
167
+ export declare const ModuleCredential: {
168
+ encode(message: ModuleCredential, writer?: _m0.Writer): _m0.Writer;
169
+ decode(input: _m0.Reader | Uint8Array, length?: number): ModuleCredential;
170
+ fromJSON(object: any): ModuleCredential;
171
+ toJSON(message: ModuleCredential): unknown;
172
+ create<I extends {
173
+ moduleName?: string;
174
+ derivationKeys?: Uint8Array[];
175
+ } & {
176
+ moduleName?: string;
177
+ derivationKeys?: Uint8Array[] & Uint8Array[] & { [K in Exclude<keyof I["derivationKeys"], keyof Uint8Array[]>]: never; };
178
+ } & { [K_1 in Exclude<keyof I, keyof ModuleCredential>]: never; }>(base?: I): ModuleCredential;
179
+ fromPartial<I_1 extends {
180
+ moduleName?: string;
181
+ derivationKeys?: Uint8Array[];
182
+ } & {
183
+ moduleName?: string;
184
+ derivationKeys?: Uint8Array[] & Uint8Array[] & { [K_2 in Exclude<keyof I_1["derivationKeys"], keyof Uint8Array[]>]: never; };
185
+ } & { [K_3 in Exclude<keyof I_1, keyof ModuleCredential>]: never; }>(object: I_1): ModuleCredential;
186
+ };
187
+ export declare const Params: {
188
+ encode(message: Params, writer?: _m0.Writer): _m0.Writer;
189
+ decode(input: _m0.Reader | Uint8Array, length?: number): Params;
190
+ fromJSON(object: any): Params;
191
+ toJSON(message: Params): unknown;
192
+ create<I extends {
193
+ maxMemoCharacters?: number;
194
+ txSigLimit?: number;
195
+ txSizeCostPerByte?: number;
196
+ sigVerifyCostEd25519?: number;
197
+ sigVerifyCostSecp256k1?: number;
198
+ } & {
199
+ maxMemoCharacters?: number;
200
+ txSigLimit?: number;
201
+ txSizeCostPerByte?: number;
202
+ sigVerifyCostEd25519?: number;
203
+ sigVerifyCostSecp256k1?: number;
204
+ } & { [K in Exclude<keyof I, keyof Params>]: never; }>(base?: I): Params;
205
+ fromPartial<I_1 extends {
206
+ maxMemoCharacters?: number;
207
+ txSigLimit?: number;
208
+ txSizeCostPerByte?: number;
209
+ sigVerifyCostEd25519?: number;
210
+ sigVerifyCostSecp256k1?: number;
211
+ } & {
212
+ maxMemoCharacters?: number;
213
+ txSigLimit?: number;
214
+ txSizeCostPerByte?: number;
215
+ sigVerifyCostEd25519?: number;
216
+ sigVerifyCostSecp256k1?: number;
217
+ } & { [K_1 in Exclude<keyof I_1, keyof Params>]: never; }>(object: I_1): Params;
218
+ };
219
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
220
+ export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
221
+ [K in keyof T]?: DeepPartial<T[K]>;
222
+ } : Partial<T>;
223
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
224
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
225
+ [K in keyof P]: Exact<P[K], I[K]>;
226
+ } & {
227
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
228
+ };
229
+ export {};
@@ -0,0 +1,428 @@
1
+ /* eslint-disable */
2
+ import Long from "long";
3
+ import _m0 from "protobufjs/minimal";
4
+ import { Any } from "../../../google/protobuf/any";
5
+ export const protobufPackage = "cosmos.auth.v1beta1";
6
+ function createBaseBaseAccount() {
7
+ return { address: "", pubKey: undefined, accountNumber: 0, sequence: 0 };
8
+ }
9
+ export const BaseAccount = {
10
+ encode(message, writer = _m0.Writer.create()) {
11
+ if (message.address !== "") {
12
+ writer.uint32(10).string(message.address);
13
+ }
14
+ if (message.pubKey !== undefined) {
15
+ Any.encode(message.pubKey, writer.uint32(18).fork()).ldelim();
16
+ }
17
+ if (message.accountNumber !== 0) {
18
+ writer.uint32(24).uint64(message.accountNumber);
19
+ }
20
+ if (message.sequence !== 0) {
21
+ writer.uint32(32).uint64(message.sequence);
22
+ }
23
+ return writer;
24
+ },
25
+ decode(input, length) {
26
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
27
+ let end = length === undefined ? reader.len : reader.pos + length;
28
+ const message = createBaseBaseAccount();
29
+ while (reader.pos < end) {
30
+ const tag = reader.uint32();
31
+ switch (tag >>> 3) {
32
+ case 1:
33
+ if (tag !== 10) {
34
+ break;
35
+ }
36
+ message.address = reader.string();
37
+ continue;
38
+ case 2:
39
+ if (tag !== 18) {
40
+ break;
41
+ }
42
+ message.pubKey = Any.decode(reader, reader.uint32());
43
+ continue;
44
+ case 3:
45
+ if (tag !== 24) {
46
+ break;
47
+ }
48
+ message.accountNumber = longToNumber(reader.uint64());
49
+ continue;
50
+ case 4:
51
+ if (tag !== 32) {
52
+ break;
53
+ }
54
+ message.sequence = longToNumber(reader.uint64());
55
+ continue;
56
+ }
57
+ if ((tag & 7) === 4 || tag === 0) {
58
+ break;
59
+ }
60
+ reader.skipType(tag & 7);
61
+ }
62
+ return message;
63
+ },
64
+ fromJSON(object) {
65
+ return {
66
+ address: isSet(object.address) ? String(object.address) : "",
67
+ pubKey: isSet(object.pubKey) ? Any.fromJSON(object.pubKey) : undefined,
68
+ accountNumber: isSet(object.accountNumber)
69
+ ? Number(object.accountNumber)
70
+ : 0,
71
+ sequence: isSet(object.sequence) ? Number(object.sequence) : 0,
72
+ };
73
+ },
74
+ toJSON(message) {
75
+ const obj = {};
76
+ message.address !== undefined && (obj.address = message.address);
77
+ message.pubKey !== undefined &&
78
+ (obj.pubKey = message.pubKey ? Any.toJSON(message.pubKey) : undefined);
79
+ message.accountNumber !== undefined &&
80
+ (obj.accountNumber = Math.round(message.accountNumber));
81
+ message.sequence !== undefined &&
82
+ (obj.sequence = Math.round(message.sequence));
83
+ return obj;
84
+ },
85
+ create(base) {
86
+ return BaseAccount.fromPartial(base ?? {});
87
+ },
88
+ fromPartial(object) {
89
+ const message = createBaseBaseAccount();
90
+ message.address = object.address ?? "";
91
+ message.pubKey =
92
+ object.pubKey !== undefined && object.pubKey !== null
93
+ ? Any.fromPartial(object.pubKey)
94
+ : undefined;
95
+ message.accountNumber = object.accountNumber ?? 0;
96
+ message.sequence = object.sequence ?? 0;
97
+ return message;
98
+ },
99
+ };
100
+ function createBaseModuleAccount() {
101
+ return { baseAccount: undefined, name: "", permissions: [] };
102
+ }
103
+ export const ModuleAccount = {
104
+ encode(message, writer = _m0.Writer.create()) {
105
+ if (message.baseAccount !== undefined) {
106
+ BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).ldelim();
107
+ }
108
+ if (message.name !== "") {
109
+ writer.uint32(18).string(message.name);
110
+ }
111
+ for (const v of message.permissions) {
112
+ writer.uint32(26).string(v);
113
+ }
114
+ return writer;
115
+ },
116
+ decode(input, length) {
117
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
118
+ let end = length === undefined ? reader.len : reader.pos + length;
119
+ const message = createBaseModuleAccount();
120
+ while (reader.pos < end) {
121
+ const tag = reader.uint32();
122
+ switch (tag >>> 3) {
123
+ case 1:
124
+ if (tag !== 10) {
125
+ break;
126
+ }
127
+ message.baseAccount = BaseAccount.decode(reader, reader.uint32());
128
+ continue;
129
+ case 2:
130
+ if (tag !== 18) {
131
+ break;
132
+ }
133
+ message.name = reader.string();
134
+ continue;
135
+ case 3:
136
+ if (tag !== 26) {
137
+ break;
138
+ }
139
+ message.permissions.push(reader.string());
140
+ continue;
141
+ }
142
+ if ((tag & 7) === 4 || tag === 0) {
143
+ break;
144
+ }
145
+ reader.skipType(tag & 7);
146
+ }
147
+ return message;
148
+ },
149
+ fromJSON(object) {
150
+ return {
151
+ baseAccount: isSet(object.baseAccount)
152
+ ? BaseAccount.fromJSON(object.baseAccount)
153
+ : undefined,
154
+ name: isSet(object.name) ? String(object.name) : "",
155
+ permissions: Array.isArray(object?.permissions)
156
+ ? object.permissions.map((e) => String(e))
157
+ : [],
158
+ };
159
+ },
160
+ toJSON(message) {
161
+ const obj = {};
162
+ message.baseAccount !== undefined &&
163
+ (obj.baseAccount = message.baseAccount
164
+ ? BaseAccount.toJSON(message.baseAccount)
165
+ : undefined);
166
+ message.name !== undefined && (obj.name = message.name);
167
+ if (message.permissions) {
168
+ obj.permissions = message.permissions.map((e) => e);
169
+ }
170
+ else {
171
+ obj.permissions = [];
172
+ }
173
+ return obj;
174
+ },
175
+ create(base) {
176
+ return ModuleAccount.fromPartial(base ?? {});
177
+ },
178
+ fromPartial(object) {
179
+ const message = createBaseModuleAccount();
180
+ message.baseAccount =
181
+ object.baseAccount !== undefined && object.baseAccount !== null
182
+ ? BaseAccount.fromPartial(object.baseAccount)
183
+ : undefined;
184
+ message.name = object.name ?? "";
185
+ message.permissions = object.permissions?.map((e) => e) || [];
186
+ return message;
187
+ },
188
+ };
189
+ function createBaseModuleCredential() {
190
+ return { moduleName: "", derivationKeys: [] };
191
+ }
192
+ export const ModuleCredential = {
193
+ encode(message, writer = _m0.Writer.create()) {
194
+ if (message.moduleName !== "") {
195
+ writer.uint32(10).string(message.moduleName);
196
+ }
197
+ for (const v of message.derivationKeys) {
198
+ writer.uint32(18).bytes(v);
199
+ }
200
+ return writer;
201
+ },
202
+ decode(input, length) {
203
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
204
+ let end = length === undefined ? reader.len : reader.pos + length;
205
+ const message = createBaseModuleCredential();
206
+ while (reader.pos < end) {
207
+ const tag = reader.uint32();
208
+ switch (tag >>> 3) {
209
+ case 1:
210
+ if (tag !== 10) {
211
+ break;
212
+ }
213
+ message.moduleName = reader.string();
214
+ continue;
215
+ case 2:
216
+ if (tag !== 18) {
217
+ break;
218
+ }
219
+ message.derivationKeys.push(reader.bytes());
220
+ continue;
221
+ }
222
+ if ((tag & 7) === 4 || tag === 0) {
223
+ break;
224
+ }
225
+ reader.skipType(tag & 7);
226
+ }
227
+ return message;
228
+ },
229
+ fromJSON(object) {
230
+ return {
231
+ moduleName: isSet(object.moduleName) ? String(object.moduleName) : "",
232
+ derivationKeys: Array.isArray(object?.derivationKeys)
233
+ ? object.derivationKeys.map((e) => bytesFromBase64(e))
234
+ : [],
235
+ };
236
+ },
237
+ toJSON(message) {
238
+ const obj = {};
239
+ message.moduleName !== undefined && (obj.moduleName = message.moduleName);
240
+ if (message.derivationKeys) {
241
+ obj.derivationKeys = message.derivationKeys.map((e) => base64FromBytes(e !== undefined ? e : new Uint8Array()));
242
+ }
243
+ else {
244
+ obj.derivationKeys = [];
245
+ }
246
+ return obj;
247
+ },
248
+ create(base) {
249
+ return ModuleCredential.fromPartial(base ?? {});
250
+ },
251
+ fromPartial(object) {
252
+ const message = createBaseModuleCredential();
253
+ message.moduleName = object.moduleName ?? "";
254
+ message.derivationKeys = object.derivationKeys?.map((e) => e) || [];
255
+ return message;
256
+ },
257
+ };
258
+ function createBaseParams() {
259
+ return {
260
+ maxMemoCharacters: 0,
261
+ txSigLimit: 0,
262
+ txSizeCostPerByte: 0,
263
+ sigVerifyCostEd25519: 0,
264
+ sigVerifyCostSecp256k1: 0,
265
+ };
266
+ }
267
+ export const Params = {
268
+ encode(message, writer = _m0.Writer.create()) {
269
+ if (message.maxMemoCharacters !== 0) {
270
+ writer.uint32(8).uint64(message.maxMemoCharacters);
271
+ }
272
+ if (message.txSigLimit !== 0) {
273
+ writer.uint32(16).uint64(message.txSigLimit);
274
+ }
275
+ if (message.txSizeCostPerByte !== 0) {
276
+ writer.uint32(24).uint64(message.txSizeCostPerByte);
277
+ }
278
+ if (message.sigVerifyCostEd25519 !== 0) {
279
+ writer.uint32(32).uint64(message.sigVerifyCostEd25519);
280
+ }
281
+ if (message.sigVerifyCostSecp256k1 !== 0) {
282
+ writer.uint32(40).uint64(message.sigVerifyCostSecp256k1);
283
+ }
284
+ return writer;
285
+ },
286
+ decode(input, length) {
287
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
288
+ let end = length === undefined ? reader.len : reader.pos + length;
289
+ const message = createBaseParams();
290
+ while (reader.pos < end) {
291
+ const tag = reader.uint32();
292
+ switch (tag >>> 3) {
293
+ case 1:
294
+ if (tag !== 8) {
295
+ break;
296
+ }
297
+ message.maxMemoCharacters = longToNumber(reader.uint64());
298
+ continue;
299
+ case 2:
300
+ if (tag !== 16) {
301
+ break;
302
+ }
303
+ message.txSigLimit = longToNumber(reader.uint64());
304
+ continue;
305
+ case 3:
306
+ if (tag !== 24) {
307
+ break;
308
+ }
309
+ message.txSizeCostPerByte = longToNumber(reader.uint64());
310
+ continue;
311
+ case 4:
312
+ if (tag !== 32) {
313
+ break;
314
+ }
315
+ message.sigVerifyCostEd25519 = longToNumber(reader.uint64());
316
+ continue;
317
+ case 5:
318
+ if (tag !== 40) {
319
+ break;
320
+ }
321
+ message.sigVerifyCostSecp256k1 = longToNumber(reader.uint64());
322
+ continue;
323
+ }
324
+ if ((tag & 7) === 4 || tag === 0) {
325
+ break;
326
+ }
327
+ reader.skipType(tag & 7);
328
+ }
329
+ return message;
330
+ },
331
+ fromJSON(object) {
332
+ return {
333
+ maxMemoCharacters: isSet(object.maxMemoCharacters)
334
+ ? Number(object.maxMemoCharacters)
335
+ : 0,
336
+ txSigLimit: isSet(object.txSigLimit) ? Number(object.txSigLimit) : 0,
337
+ txSizeCostPerByte: isSet(object.txSizeCostPerByte)
338
+ ? Number(object.txSizeCostPerByte)
339
+ : 0,
340
+ sigVerifyCostEd25519: isSet(object.sigVerifyCostEd25519)
341
+ ? Number(object.sigVerifyCostEd25519)
342
+ : 0,
343
+ sigVerifyCostSecp256k1: isSet(object.sigVerifyCostSecp256k1)
344
+ ? Number(object.sigVerifyCostSecp256k1)
345
+ : 0,
346
+ };
347
+ },
348
+ toJSON(message) {
349
+ const obj = {};
350
+ message.maxMemoCharacters !== undefined &&
351
+ (obj.maxMemoCharacters = Math.round(message.maxMemoCharacters));
352
+ message.txSigLimit !== undefined &&
353
+ (obj.txSigLimit = Math.round(message.txSigLimit));
354
+ message.txSizeCostPerByte !== undefined &&
355
+ (obj.txSizeCostPerByte = Math.round(message.txSizeCostPerByte));
356
+ message.sigVerifyCostEd25519 !== undefined &&
357
+ (obj.sigVerifyCostEd25519 = Math.round(message.sigVerifyCostEd25519));
358
+ message.sigVerifyCostSecp256k1 !== undefined &&
359
+ (obj.sigVerifyCostSecp256k1 = Math.round(message.sigVerifyCostSecp256k1));
360
+ return obj;
361
+ },
362
+ create(base) {
363
+ return Params.fromPartial(base ?? {});
364
+ },
365
+ fromPartial(object) {
366
+ const message = createBaseParams();
367
+ message.maxMemoCharacters = object.maxMemoCharacters ?? 0;
368
+ message.txSigLimit = object.txSigLimit ?? 0;
369
+ message.txSizeCostPerByte = object.txSizeCostPerByte ?? 0;
370
+ message.sigVerifyCostEd25519 = object.sigVerifyCostEd25519 ?? 0;
371
+ message.sigVerifyCostSecp256k1 = object.sigVerifyCostSecp256k1 ?? 0;
372
+ return message;
373
+ },
374
+ };
375
+ var tsProtoGlobalThis = (() => {
376
+ if (typeof globalThis !== "undefined") {
377
+ return globalThis;
378
+ }
379
+ if (typeof self !== "undefined") {
380
+ return self;
381
+ }
382
+ if (typeof window !== "undefined") {
383
+ return window;
384
+ }
385
+ if (typeof global !== "undefined") {
386
+ return global;
387
+ }
388
+ throw "Unable to locate global object";
389
+ })();
390
+ function bytesFromBase64(b64) {
391
+ if (tsProtoGlobalThis.Buffer) {
392
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
393
+ }
394
+ else {
395
+ const bin = tsProtoGlobalThis.atob(b64);
396
+ const arr = new Uint8Array(bin.length);
397
+ for (let i = 0; i < bin.length; ++i) {
398
+ arr[i] = bin.charCodeAt(i);
399
+ }
400
+ return arr;
401
+ }
402
+ }
403
+ function base64FromBytes(arr) {
404
+ if (tsProtoGlobalThis.Buffer) {
405
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
406
+ }
407
+ else {
408
+ const bin = [];
409
+ arr.forEach((byte) => {
410
+ bin.push(String.fromCharCode(byte));
411
+ });
412
+ return tsProtoGlobalThis.btoa(bin.join(""));
413
+ }
414
+ }
415
+ function longToNumber(long) {
416
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
417
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
418
+ }
419
+ return long.toNumber();
420
+ }
421
+ if (_m0.util.Long !== Long) {
422
+ _m0.util.Long = Long;
423
+ _m0.configure();
424
+ }
425
+ function isSet(value) {
426
+ return value !== null && value !== undefined;
427
+ }
428
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3Ntb3MvYXV0aC92MWJldGExL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBNkNyRCxTQUFTLHFCQUFxQjtJQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzNFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsTUFBTSxDQUNKLE9BQW9CLEVBQ3BCLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBRXhDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUNoQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxPQUFPLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENB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