trac-msb 0.2.24 → 0.3.0-beta.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 (137) hide show
  1. package/SECURITY.md +2 -2
  2. package/cli/commandHandler.js +317 -20
  3. package/cli/handlers.js +9 -1
  4. package/cli/interactive.js +4 -3
  5. package/cli/tokenSupplyAudit.js +90 -0
  6. package/msb.mjs +1 -0
  7. package/package.json +15 -6
  8. package/rpc/create_server.js +12 -3
  9. package/rpc/handlers.js +103 -0
  10. package/rpc/routes/v1.js +8 -0
  11. package/src/codecs/apply/applyOperationCodec.js +334 -0
  12. package/src/codecs/apply/applyOperations.generated.cjs +6380 -0
  13. package/src/codecs/consensus/v1/consensusV1.generated.cjs +3508 -0
  14. package/src/codecs/consensus/v1/consensusV1OperationCodec.js +161 -0
  15. package/src/codecs/consensus/v1/vdfConfigCodec.js +83 -0
  16. package/src/{utils/protobuf → codecs/network/v1}/networkV1.generated.cjs +664 -393
  17. package/src/codecs/network/v1/networkV1OperationCodec.js +25 -0
  18. package/src/codecs/protobufRuntime.cjs +95 -0
  19. package/src/codecs/state/escrowEntryCodec.js +45 -0
  20. package/src/codecs/state/state.generated.cjs +659 -0
  21. package/src/config/args.js +0 -1
  22. package/src/config/config.js +46 -7
  23. package/src/config/env.js +33 -6
  24. package/src/core/consensus/epochAppenderSelection/EpochAppenderSelectionError.js +55 -0
  25. package/src/core/consensus/epochAppenderSelection/EpochAppenderSelectionOperations.js +118 -0
  26. package/src/core/consensus/epochAppenderSelection/EpochAppenderSelector.js +1042 -0
  27. package/src/core/consensus/epochAppenderSelection/createEpochAppenderSelector.js +23 -0
  28. package/src/core/consensus/epochAppenderSelection/epochAppenderSelectionLedgerReader.js +274 -0
  29. package/src/core/consensus/epochAppenderSelection/epochAppenderSelectionState.js +488 -0
  30. package/src/core/consensus/epochAppenderSelection/epochAppenderSelectionStorage.js +93 -0
  31. package/src/core/consensus/quorum.js +11 -0
  32. package/src/core/consensus/services/EpochCoordinationRound.js +839 -0
  33. package/src/core/consensus/services/EpochCoordinatorOperations.js +211 -0
  34. package/src/core/consensus/services/EpochCoordinatorService.js +335 -0
  35. package/src/core/consensus/services/EpochRoundListeners.js +116 -0
  36. package/src/core/consensus/services/EpochStateMachine.js +141 -0
  37. package/src/core/consensus/services/VDFBare.js +291 -0
  38. package/src/core/consensus/services/VDFNode.js +111 -0
  39. package/src/core/consensus/services/VDFProgressWatchdog.js +79 -0
  40. package/src/core/consensus/services/VDFService.js +87 -0
  41. package/src/core/consensus/services/VDFServiceManager.js +147 -0
  42. package/src/core/consensus/services/createVDFService.js +16 -0
  43. package/src/core/consensus/services/vdf-guardian.js +32 -0
  44. package/src/core/consensus/services/vdf-worker.js +90 -0
  45. package/src/core/network/Network.js +327 -238
  46. package/src/core/network/protocols/consensus/IndexerMessages.js +72 -0
  47. package/src/core/network/protocols/consensus/v1/ConsensusV1ConnectionPolicy.js +57 -0
  48. package/src/core/network/protocols/consensus/v1/ConsensusV1MessageRouter.js +147 -0
  49. package/src/core/network/protocols/consensus/v1/ConsensusV1Protocol.js +72 -0
  50. package/src/core/network/protocols/consensus/v1/IndexerPendingRequestService.js +108 -0
  51. package/src/core/network/protocols/consensus/v1/V1ConsensusProtocolError.js +29 -0
  52. package/src/core/network/protocols/consensus/v1/handlers/V1EpochAppendOperationHandler.js +68 -0
  53. package/src/core/network/protocols/consensus/v1/handlers/V1EpochProofProposalOperationHandler.js +226 -0
  54. package/src/core/network/protocols/consensus/v1/validators/ConsensusValidationSchema.js +192 -0
  55. package/src/core/network/protocols/consensus/v1/validators/V1BaseConsensusOperation.js +428 -0
  56. package/src/core/network/protocols/consensus/v1/validators/V1EpochAppendReply.js +47 -0
  57. package/src/core/network/protocols/consensus/v1/validators/V1EpochAppendRequest.js +17 -0
  58. package/src/core/network/protocols/consensus/v1/validators/V1EpochProofProposalApproval.js +116 -0
  59. package/src/core/network/protocols/consensus/v1/validators/V1EpochProofProposalRequest.js +152 -0
  60. package/src/core/network/protocols/consensus/v1/validators/consensusValidationSchemaHelpers.js +145 -0
  61. package/src/core/network/protocols/shared/ConnectionOperationHandler.js +27 -0
  62. package/src/core/network/protocols/{NetworkMessages.js → validators/ValidatorMessages.js} +24 -14
  63. package/src/core/network/protocols/{ProtocolSession.js → validators/ValidatorProtocolSession.js} +22 -25
  64. package/src/core/network/protocols/{legacy/NetworkMessageRouter.js → validators/legacy/ValidatorLegacyMessageRouter.js} +6 -6
  65. package/src/core/network/protocols/{LegacyProtocol.js → validators/legacy/ValidatorLegacyProtocol.js} +9 -7
  66. package/src/core/network/protocols/{legacy → validators/legacy}/handlers/BaseStateOperationHandler.js +1 -1
  67. package/src/core/network/protocols/{legacy → validators/legacy}/handlers/LegacyGetRequestHandler.js +5 -5
  68. package/src/core/network/protocols/{legacy → validators/legacy}/handlers/LegacyRoleOperationHandler.js +5 -5
  69. package/src/core/network/protocols/{legacy → validators/legacy}/handlers/LegacySubnetworkOperationHandler.js +5 -5
  70. package/src/core/network/protocols/{legacy → validators/legacy}/handlers/LegacyTransferOperationHandler.js +5 -5
  71. package/src/core/network/protocols/{ProtocolInterface.js → validators/shared/ValidatorProtocolInterface.js} +5 -5
  72. package/src/core/network/protocols/{shared → validators/shared}/validators/PartialBootstrapDeploymentValidator.js +1 -1
  73. package/src/core/network/protocols/validators/shared/validators/PartialHtlcValidator.js +325 -0
  74. package/src/core/network/protocols/{shared → validators/shared}/validators/PartialOperationValidator.js +44 -21
  75. package/src/core/network/protocols/{shared → validators/shared}/validators/PartialRoleAccessValidator.js +3 -3
  76. package/src/core/network/protocols/{shared → validators/shared}/validators/PartialTransactionValidator.js +3 -3
  77. package/src/core/network/protocols/{shared → validators/shared}/validators/PartialTransferValidator.js +4 -4
  78. package/src/core/network/protocols/{v1 → validators/v1}/V1ProtocolError.js +1 -1
  79. package/src/core/network/{services/PendingRequestService.js → protocols/validators/v1/ValidatorPendingRequestService.js} +19 -82
  80. package/src/core/network/protocols/{v1/NetworkMessageRouter.js → validators/v1/ValidatorV1MessageRouter.js} +9 -9
  81. package/src/core/network/protocols/{V1Protocol.js → validators/v1/ValidatorV1Protocol.js} +10 -8
  82. package/src/core/network/protocols/{connectionPolicies.js → validators/v1/connectionPolicies.js} +1 -1
  83. package/src/core/network/protocols/{v1 → validators/v1}/handlers/V1BaseOperationHandler.js +6 -23
  84. package/src/core/network/protocols/{v1 → validators/v1}/handlers/V1BroadcastTransactionOperationHandler.js +14 -9
  85. package/src/core/network/protocols/{v1 → validators/v1}/handlers/V1LivenessOperationHandler.js +5 -4
  86. package/src/core/network/protocols/{v1 → validators/v1}/handlers/broadcastTransaction/BroadcastTransactionErrorMapper.js +3 -3
  87. package/src/core/network/protocols/{v1 → validators/v1}/handlers/broadcastTransaction/BroadcastTransactionOperationStrategies.js +44 -1
  88. package/src/core/network/protocols/{v1 → validators/v1}/handlers/broadcastTransaction/BroadcastTransactionPayloadUtils.js +1 -1
  89. package/src/core/network/protocols/{v1 → validators/v1}/validators/V1BaseOperation.js +19 -15
  90. package/src/core/network/protocols/{v1 → validators/v1}/validators/V1BroadcastTransactionRequest.js +2 -2
  91. package/src/core/network/protocols/{v1 → validators/v1}/validators/V1BroadcastTransactionResponse.js +34 -18
  92. package/src/core/network/protocols/{v1 → validators/v1}/validators/V1ValidationSchema.js +3 -3
  93. package/src/core/network/services/IndexerConnectionManager.js +88 -0
  94. package/src/core/network/services/TransactionPoolService.js +11 -18
  95. package/src/core/network/services/TransactionRateLimiterService.js +1 -1
  96. package/src/core/network/services/ValidatorConnectionManager.js +163 -0
  97. package/src/core/network/services/{MessageOrchestrator.js → ValidatorMessageOrchestrator.js} +34 -42
  98. package/src/core/network/services/ValidatorObserverService.js +21 -36
  99. package/src/core/network/shared/BasePendingRequestService.js +67 -0
  100. package/src/core/network/shared/PeerConnectionManager.js +185 -0
  101. package/src/core/state/ConfirmationWatch.js +82 -0
  102. package/src/core/state/State.js +1794 -173
  103. package/src/core/state/StateEventQueue.js +69 -0
  104. package/src/core/state/utils/address.js +10 -6
  105. package/src/core/state/utils/epochProof.js +109 -0
  106. package/src/core/state/utils/escrowEntry.js +178 -0
  107. package/src/core/state/validators/StateValidationSchema.js +757 -0
  108. package/src/core/state/validators/stateValidationRules.js +312 -0
  109. package/src/index.js +255 -65
  110. package/src/messages/consensus/v1/ConsensusMessageBuilder.js +368 -0
  111. package/src/messages/consensus/v1/ConsensusMessageDirector.js +142 -0
  112. package/src/messages/consensus/v1/consensusMessageFactory.js +12 -0
  113. package/src/messages/consensus/v1/epochAppendMessage.js +58 -0
  114. package/src/messages/network/v1/NetworkMessageBuilder.js +15 -7
  115. package/src/messages/state/ApplyStateMessageBuilder.js +499 -13
  116. package/src/messages/state/ApplyStateMessageDirector.js +261 -2
  117. package/src/utils/StateMachine.js +125 -0
  118. package/src/utils/applyOperations.js +45 -2
  119. package/src/utils/buffer.js +239 -59
  120. package/src/utils/consensusConfig.js +76 -0
  121. package/src/utils/constants.js +174 -73
  122. package/src/utils/helpers.js +0 -25
  123. package/src/utils/htlcLock.js +122 -0
  124. package/src/utils/logger.js +10 -4
  125. package/src/utils/migrationUtils.js +2 -1
  126. package/src/utils/normalizers.js +113 -0
  127. package/src/utils/scheduler/SchedulableService.js +107 -0
  128. package/src/utils/{Scheduler.js → scheduler/Scheduler.js} +56 -17
  129. package/src/core/network/services/ConnectionManager.js +0 -406
  130. package/src/utils/check.js +0 -525
  131. package/src/utils/protobuf/applyOperations.cjs +0 -1373
  132. package/src/utils/protobuf/operationHelpers.js +0 -81
  133. /package/src/core/network/protocols/{legacy → validators/legacy}/handlers/LegacyResponseHandler.js +0 -0
  134. /package/src/core/network/protocols/{legacy → validators/legacy}/validators/ValidatorResponse.js +0 -0
  135. /package/src/core/network/protocols/{legacy → validators/legacy}/validators/base/BaseResponse.js +0 -0
  136. /package/src/core/network/protocols/{v1 → validators/v1}/validators/V1LivenessRequest.js +0 -0
  137. /package/src/core/network/protocols/{v1 → validators/v1}/validators/V1LivenessResponse.js +0 -0
@@ -1,1373 +0,0 @@
1
- var b4a = require('b4a');
2
- // This file is auto generated by the protocol-buffers compiler
3
-
4
- /* eslint-disable quotes */
5
- /* eslint-disable indent */
6
- /* eslint-disable no-redeclare */
7
- /* eslint-disable camelcase */
8
-
9
- // Remember to `npm install --save protocol-buffers-encodings`
10
- var encodings = require('protocol-buffers-encodings')
11
- var varint = encodings.varint
12
- var skip = encodings.skip
13
-
14
- exports.OperationType = {
15
- "UNKNOWN": 0,
16
- "ADD_ADMIN": 1,
17
- "DISABLE_INITIALIZATION": 2,
18
- "BALANCE_INITIALIZATION": 3,
19
- "APPEND_WHITELIST": 4,
20
- "ADD_WRITER": 5,
21
- "REMOVE_WRITER": 6,
22
- "ADMIN_RECOVERY": 7,
23
- "ADD_INDEXER": 8,
24
- "REMOVE_INDEXER": 9,
25
- "BAN_VALIDATOR": 10,
26
- "BOOTSTRAP_DEPLOYMENT": 11,
27
- "TX": 12,
28
- "TRANSFER": 13
29
- }
30
-
31
- var CoreAdminOperation = exports.CoreAdminOperation = {
32
- buffer: true,
33
- encodingLength: null,
34
- encode: null,
35
- decode: null
36
- }
37
-
38
- var AdminControlOperation = exports.AdminControlOperation = {
39
- buffer: true,
40
- encodingLength: null,
41
- encode: null,
42
- decode: null
43
- }
44
-
45
- var BalanceInitializationOperation = exports.BalanceInitializationOperation = {
46
- buffer: true,
47
- encodingLength: null,
48
- encode: null,
49
- decode: null
50
- }
51
-
52
- var TransferOperation = exports.TransferOperation = {
53
- buffer: true,
54
- encodingLength: null,
55
- encode: null,
56
- decode: null
57
- }
58
-
59
- var RoleAccessOperation = exports.RoleAccessOperation = {
60
- buffer: true,
61
- encodingLength: null,
62
- encode: null,
63
- decode: null
64
- }
65
-
66
- var TxOperation = exports.TxOperation = {
67
- buffer: true,
68
- encodingLength: null,
69
- encode: null,
70
- decode: null
71
- }
72
-
73
- var BootstrapDeploymentOperation = exports.BootstrapDeploymentOperation = {
74
- buffer: true,
75
- encodingLength: null,
76
- encode: null,
77
- decode: null
78
- }
79
-
80
- var Operation = exports.Operation = {
81
- buffer: true,
82
- encodingLength: null,
83
- encode: null,
84
- decode: null
85
- }
86
-
87
- defineCoreAdminOperation()
88
- defineAdminControlOperation()
89
- defineBalanceInitializationOperation()
90
- defineTransferOperation()
91
- defineRoleAccessOperation()
92
- defineTxOperation()
93
- defineBootstrapDeploymentOperation()
94
- defineOperation()
95
-
96
- function defineCoreAdminOperation () {
97
- CoreAdminOperation.encodingLength = encodingLength
98
- CoreAdminOperation.encode = encode
99
- CoreAdminOperation.decode = decode
100
-
101
- function encodingLength (obj) {
102
- var length = 0
103
- if (defined(obj.tx)) {
104
- var len = encodings.bytes.encodingLength(obj.tx)
105
- length += 1 + len
106
- }
107
- if (defined(obj.txv)) {
108
- var len = encodings.bytes.encodingLength(obj.txv)
109
- length += 1 + len
110
- }
111
- if (defined(obj.iw)) {
112
- var len = encodings.bytes.encodingLength(obj.iw)
113
- length += 1 + len
114
- }
115
- if (defined(obj.in)) {
116
- var len = encodings.bytes.encodingLength(obj.in)
117
- length += 1 + len
118
- }
119
- if (defined(obj.is)) {
120
- var len = encodings.bytes.encodingLength(obj.is)
121
- length += 1 + len
122
- }
123
- return length
124
- }
125
-
126
- function encode (obj, buf, offset) {
127
- if (!offset) offset = 0
128
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
129
- var oldOffset = offset
130
- if (defined(obj.tx)) {
131
- buf[offset++] = 10
132
- encodings.bytes.encode(obj.tx, buf, offset)
133
- offset += encodings.bytes.encode.bytes
134
- }
135
- if (defined(obj.txv)) {
136
- buf[offset++] = 18
137
- encodings.bytes.encode(obj.txv, buf, offset)
138
- offset += encodings.bytes.encode.bytes
139
- }
140
- if (defined(obj.iw)) {
141
- buf[offset++] = 26
142
- encodings.bytes.encode(obj.iw, buf, offset)
143
- offset += encodings.bytes.encode.bytes
144
- }
145
- if (defined(obj.in)) {
146
- buf[offset++] = 34
147
- encodings.bytes.encode(obj.in, buf, offset)
148
- offset += encodings.bytes.encode.bytes
149
- }
150
- if (defined(obj.is)) {
151
- buf[offset++] = 42
152
- encodings.bytes.encode(obj.is, buf, offset)
153
- offset += encodings.bytes.encode.bytes
154
- }
155
- encode.bytes = offset - oldOffset
156
- return buf
157
- }
158
-
159
- function decode (buf, offset, end) {
160
- if (!offset) offset = 0
161
- if (!end) end = buf.length
162
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
163
- var oldOffset = offset
164
- var obj = {
165
- tx: null,
166
- txv: null,
167
- iw: null,
168
- in: null,
169
- is: null
170
- }
171
- while (true) {
172
- if (end <= offset) {
173
- decode.bytes = offset - oldOffset
174
- return obj
175
- }
176
- var prefix = varint.decode(buf, offset)
177
- offset += varint.decode.bytes
178
- var tag = prefix >> 3
179
- switch (tag) {
180
- case 1:
181
- obj.tx = encodings.bytes.decode(buf, offset)
182
- offset += encodings.bytes.decode.bytes
183
- break
184
- case 2:
185
- obj.txv = encodings.bytes.decode(buf, offset)
186
- offset += encodings.bytes.decode.bytes
187
- break
188
- case 3:
189
- obj.iw = encodings.bytes.decode(buf, offset)
190
- offset += encodings.bytes.decode.bytes
191
- break
192
- case 4:
193
- obj.in = encodings.bytes.decode(buf, offset)
194
- offset += encodings.bytes.decode.bytes
195
- break
196
- case 5:
197
- obj.is = encodings.bytes.decode(buf, offset)
198
- offset += encodings.bytes.decode.bytes
199
- break
200
- default:
201
- offset = skip(prefix & 7, buf, offset)
202
- }
203
- }
204
- }
205
- }
206
-
207
- function defineAdminControlOperation () {
208
- AdminControlOperation.encodingLength = encodingLength
209
- AdminControlOperation.encode = encode
210
- AdminControlOperation.decode = decode
211
-
212
- function encodingLength (obj) {
213
- var length = 0
214
- if (defined(obj.tx)) {
215
- var len = encodings.bytes.encodingLength(obj.tx)
216
- length += 1 + len
217
- }
218
- if (defined(obj.txv)) {
219
- var len = encodings.bytes.encodingLength(obj.txv)
220
- length += 1 + len
221
- }
222
- if (defined(obj.ia)) {
223
- var len = encodings.bytes.encodingLength(obj.ia)
224
- length += 1 + len
225
- }
226
- if (defined(obj.in)) {
227
- var len = encodings.bytes.encodingLength(obj.in)
228
- length += 1 + len
229
- }
230
- if (defined(obj.is)) {
231
- var len = encodings.bytes.encodingLength(obj.is)
232
- length += 1 + len
233
- }
234
- return length
235
- }
236
-
237
- function encode (obj, buf, offset) {
238
- if (!offset) offset = 0
239
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
240
- var oldOffset = offset
241
- if (defined(obj.tx)) {
242
- buf[offset++] = 10
243
- encodings.bytes.encode(obj.tx, buf, offset)
244
- offset += encodings.bytes.encode.bytes
245
- }
246
- if (defined(obj.txv)) {
247
- buf[offset++] = 18
248
- encodings.bytes.encode(obj.txv, buf, offset)
249
- offset += encodings.bytes.encode.bytes
250
- }
251
- if (defined(obj.ia)) {
252
- buf[offset++] = 26
253
- encodings.bytes.encode(obj.ia, buf, offset)
254
- offset += encodings.bytes.encode.bytes
255
- }
256
- if (defined(obj.in)) {
257
- buf[offset++] = 34
258
- encodings.bytes.encode(obj.in, buf, offset)
259
- offset += encodings.bytes.encode.bytes
260
- }
261
- if (defined(obj.is)) {
262
- buf[offset++] = 42
263
- encodings.bytes.encode(obj.is, buf, offset)
264
- offset += encodings.bytes.encode.bytes
265
- }
266
- encode.bytes = offset - oldOffset
267
- return buf
268
- }
269
-
270
- function decode (buf, offset, end) {
271
- if (!offset) offset = 0
272
- if (!end) end = buf.length
273
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
274
- var oldOffset = offset
275
- var obj = {
276
- tx: null,
277
- txv: null,
278
- ia: null,
279
- in: null,
280
- is: null
281
- }
282
- while (true) {
283
- if (end <= offset) {
284
- decode.bytes = offset - oldOffset
285
- return obj
286
- }
287
- var prefix = varint.decode(buf, offset)
288
- offset += varint.decode.bytes
289
- var tag = prefix >> 3
290
- switch (tag) {
291
- case 1:
292
- obj.tx = encodings.bytes.decode(buf, offset)
293
- offset += encodings.bytes.decode.bytes
294
- break
295
- case 2:
296
- obj.txv = encodings.bytes.decode(buf, offset)
297
- offset += encodings.bytes.decode.bytes
298
- break
299
- case 3:
300
- obj.ia = encodings.bytes.decode(buf, offset)
301
- offset += encodings.bytes.decode.bytes
302
- break
303
- case 4:
304
- obj.in = encodings.bytes.decode(buf, offset)
305
- offset += encodings.bytes.decode.bytes
306
- break
307
- case 5:
308
- obj.is = encodings.bytes.decode(buf, offset)
309
- offset += encodings.bytes.decode.bytes
310
- break
311
- default:
312
- offset = skip(prefix & 7, buf, offset)
313
- }
314
- }
315
- }
316
- }
317
-
318
- function defineBalanceInitializationOperation () {
319
- BalanceInitializationOperation.encodingLength = encodingLength
320
- BalanceInitializationOperation.encode = encode
321
- BalanceInitializationOperation.decode = decode
322
-
323
- function encodingLength (obj) {
324
- var length = 0
325
- if (defined(obj.tx)) {
326
- var len = encodings.bytes.encodingLength(obj.tx)
327
- length += 1 + len
328
- }
329
- if (defined(obj.txv)) {
330
- var len = encodings.bytes.encodingLength(obj.txv)
331
- length += 1 + len
332
- }
333
- if (defined(obj.ia)) {
334
- var len = encodings.bytes.encodingLength(obj.ia)
335
- length += 1 + len
336
- }
337
- if (defined(obj.am)) {
338
- var len = encodings.bytes.encodingLength(obj.am)
339
- length += 1 + len
340
- }
341
- if (defined(obj.in)) {
342
- var len = encodings.bytes.encodingLength(obj.in)
343
- length += 1 + len
344
- }
345
- if (defined(obj.is)) {
346
- var len = encodings.bytes.encodingLength(obj.is)
347
- length += 1 + len
348
- }
349
- return length
350
- }
351
-
352
- function encode (obj, buf, offset) {
353
- if (!offset) offset = 0
354
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
355
- var oldOffset = offset
356
- if (defined(obj.tx)) {
357
- buf[offset++] = 10
358
- encodings.bytes.encode(obj.tx, buf, offset)
359
- offset += encodings.bytes.encode.bytes
360
- }
361
- if (defined(obj.txv)) {
362
- buf[offset++] = 18
363
- encodings.bytes.encode(obj.txv, buf, offset)
364
- offset += encodings.bytes.encode.bytes
365
- }
366
- if (defined(obj.ia)) {
367
- buf[offset++] = 26
368
- encodings.bytes.encode(obj.ia, buf, offset)
369
- offset += encodings.bytes.encode.bytes
370
- }
371
- if (defined(obj.am)) {
372
- buf[offset++] = 34
373
- encodings.bytes.encode(obj.am, buf, offset)
374
- offset += encodings.bytes.encode.bytes
375
- }
376
- if (defined(obj.in)) {
377
- buf[offset++] = 42
378
- encodings.bytes.encode(obj.in, buf, offset)
379
- offset += encodings.bytes.encode.bytes
380
- }
381
- if (defined(obj.is)) {
382
- buf[offset++] = 50
383
- encodings.bytes.encode(obj.is, buf, offset)
384
- offset += encodings.bytes.encode.bytes
385
- }
386
- encode.bytes = offset - oldOffset
387
- return buf
388
- }
389
-
390
- function decode (buf, offset, end) {
391
- if (!offset) offset = 0
392
- if (!end) end = buf.length
393
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
394
- var oldOffset = offset
395
- var obj = {
396
- tx: null,
397
- txv: null,
398
- ia: null,
399
- am: null,
400
- in: null,
401
- is: null
402
- }
403
- while (true) {
404
- if (end <= offset) {
405
- decode.bytes = offset - oldOffset
406
- return obj
407
- }
408
- var prefix = varint.decode(buf, offset)
409
- offset += varint.decode.bytes
410
- var tag = prefix >> 3
411
- switch (tag) {
412
- case 1:
413
- obj.tx = encodings.bytes.decode(buf, offset)
414
- offset += encodings.bytes.decode.bytes
415
- break
416
- case 2:
417
- obj.txv = encodings.bytes.decode(buf, offset)
418
- offset += encodings.bytes.decode.bytes
419
- break
420
- case 3:
421
- obj.ia = encodings.bytes.decode(buf, offset)
422
- offset += encodings.bytes.decode.bytes
423
- break
424
- case 4:
425
- obj.am = encodings.bytes.decode(buf, offset)
426
- offset += encodings.bytes.decode.bytes
427
- break
428
- case 5:
429
- obj.in = encodings.bytes.decode(buf, offset)
430
- offset += encodings.bytes.decode.bytes
431
- break
432
- case 6:
433
- obj.is = encodings.bytes.decode(buf, offset)
434
- offset += encodings.bytes.decode.bytes
435
- break
436
- default:
437
- offset = skip(prefix & 7, buf, offset)
438
- }
439
- }
440
- }
441
- }
442
-
443
- function defineTransferOperation () {
444
- TransferOperation.encodingLength = encodingLength
445
- TransferOperation.encode = encode
446
- TransferOperation.decode = decode
447
-
448
- function encodingLength (obj) {
449
- var length = 0
450
- if (defined(obj.tx)) {
451
- var len = encodings.bytes.encodingLength(obj.tx)
452
- length += 1 + len
453
- }
454
- if (defined(obj.txv)) {
455
- var len = encodings.bytes.encodingLength(obj.txv)
456
- length += 1 + len
457
- }
458
- if (defined(obj.to)) {
459
- var len = encodings.bytes.encodingLength(obj.to)
460
- length += 1 + len
461
- }
462
- if (defined(obj.am)) {
463
- var len = encodings.bytes.encodingLength(obj.am)
464
- length += 1 + len
465
- }
466
- if (defined(obj.in)) {
467
- var len = encodings.bytes.encodingLength(obj.in)
468
- length += 1 + len
469
- }
470
- if (defined(obj.is)) {
471
- var len = encodings.bytes.encodingLength(obj.is)
472
- length += 1 + len
473
- }
474
- if (defined(obj.va)) {
475
- var len = encodings.bytes.encodingLength(obj.va)
476
- length += 1 + len
477
- }
478
- if (defined(obj.vn)) {
479
- var len = encodings.bytes.encodingLength(obj.vn)
480
- length += 1 + len
481
- }
482
- if (defined(obj.vs)) {
483
- var len = encodings.bytes.encodingLength(obj.vs)
484
- length += 1 + len
485
- }
486
- return length
487
- }
488
-
489
- function encode (obj, buf, offset) {
490
- if (!offset) offset = 0
491
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
492
- var oldOffset = offset
493
- if (defined(obj.tx)) {
494
- buf[offset++] = 10
495
- encodings.bytes.encode(obj.tx, buf, offset)
496
- offset += encodings.bytes.encode.bytes
497
- }
498
- if (defined(obj.txv)) {
499
- buf[offset++] = 18
500
- encodings.bytes.encode(obj.txv, buf, offset)
501
- offset += encodings.bytes.encode.bytes
502
- }
503
- if (defined(obj.to)) {
504
- buf[offset++] = 26
505
- encodings.bytes.encode(obj.to, buf, offset)
506
- offset += encodings.bytes.encode.bytes
507
- }
508
- if (defined(obj.am)) {
509
- buf[offset++] = 34
510
- encodings.bytes.encode(obj.am, buf, offset)
511
- offset += encodings.bytes.encode.bytes
512
- }
513
- if (defined(obj.in)) {
514
- buf[offset++] = 42
515
- encodings.bytes.encode(obj.in, buf, offset)
516
- offset += encodings.bytes.encode.bytes
517
- }
518
- if (defined(obj.is)) {
519
- buf[offset++] = 50
520
- encodings.bytes.encode(obj.is, buf, offset)
521
- offset += encodings.bytes.encode.bytes
522
- }
523
- if (defined(obj.va)) {
524
- buf[offset++] = 58
525
- encodings.bytes.encode(obj.va, buf, offset)
526
- offset += encodings.bytes.encode.bytes
527
- }
528
- if (defined(obj.vn)) {
529
- buf[offset++] = 66
530
- encodings.bytes.encode(obj.vn, buf, offset)
531
- offset += encodings.bytes.encode.bytes
532
- }
533
- if (defined(obj.vs)) {
534
- buf[offset++] = 74
535
- encodings.bytes.encode(obj.vs, buf, offset)
536
- offset += encodings.bytes.encode.bytes
537
- }
538
- encode.bytes = offset - oldOffset
539
- return buf
540
- }
541
-
542
- function decode (buf, offset, end) {
543
- if (!offset) offset = 0
544
- if (!end) end = buf.length
545
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
546
- var oldOffset = offset
547
- var obj = {
548
- tx: null,
549
- txv: null,
550
- to: null,
551
- am: null,
552
- in: null,
553
- is: null,
554
- va: null,
555
- vn: null,
556
- vs: null
557
- }
558
- while (true) {
559
- if (end <= offset) {
560
- decode.bytes = offset - oldOffset
561
- return obj
562
- }
563
- var prefix = varint.decode(buf, offset)
564
- offset += varint.decode.bytes
565
- var tag = prefix >> 3
566
- switch (tag) {
567
- case 1:
568
- obj.tx = encodings.bytes.decode(buf, offset)
569
- offset += encodings.bytes.decode.bytes
570
- break
571
- case 2:
572
- obj.txv = encodings.bytes.decode(buf, offset)
573
- offset += encodings.bytes.decode.bytes
574
- break
575
- case 3:
576
- obj.to = encodings.bytes.decode(buf, offset)
577
- offset += encodings.bytes.decode.bytes
578
- break
579
- case 4:
580
- obj.am = encodings.bytes.decode(buf, offset)
581
- offset += encodings.bytes.decode.bytes
582
- break
583
- case 5:
584
- obj.in = encodings.bytes.decode(buf, offset)
585
- offset += encodings.bytes.decode.bytes
586
- break
587
- case 6:
588
- obj.is = encodings.bytes.decode(buf, offset)
589
- offset += encodings.bytes.decode.bytes
590
- break
591
- case 7:
592
- obj.va = encodings.bytes.decode(buf, offset)
593
- offset += encodings.bytes.decode.bytes
594
- break
595
- case 8:
596
- obj.vn = encodings.bytes.decode(buf, offset)
597
- offset += encodings.bytes.decode.bytes
598
- break
599
- case 9:
600
- obj.vs = encodings.bytes.decode(buf, offset)
601
- offset += encodings.bytes.decode.bytes
602
- break
603
- default:
604
- offset = skip(prefix & 7, buf, offset)
605
- }
606
- }
607
- }
608
- }
609
-
610
- function defineRoleAccessOperation () {
611
- RoleAccessOperation.encodingLength = encodingLength
612
- RoleAccessOperation.encode = encode
613
- RoleAccessOperation.decode = decode
614
-
615
- function encodingLength (obj) {
616
- var length = 0
617
- if (defined(obj.tx)) {
618
- var len = encodings.bytes.encodingLength(obj.tx)
619
- length += 1 + len
620
- }
621
- if (defined(obj.txv)) {
622
- var len = encodings.bytes.encodingLength(obj.txv)
623
- length += 1 + len
624
- }
625
- if (defined(obj.iw)) {
626
- var len = encodings.bytes.encodingLength(obj.iw)
627
- length += 1 + len
628
- }
629
- if (defined(obj.in)) {
630
- var len = encodings.bytes.encodingLength(obj.in)
631
- length += 1 + len
632
- }
633
- if (defined(obj.is)) {
634
- var len = encodings.bytes.encodingLength(obj.is)
635
- length += 1 + len
636
- }
637
- if (defined(obj.va)) {
638
- var len = encodings.bytes.encodingLength(obj.va)
639
- length += 1 + len
640
- }
641
- if (defined(obj.vn)) {
642
- var len = encodings.bytes.encodingLength(obj.vn)
643
- length += 1 + len
644
- }
645
- if (defined(obj.vs)) {
646
- var len = encodings.bytes.encodingLength(obj.vs)
647
- length += 1 + len
648
- }
649
- return length
650
- }
651
-
652
- function encode (obj, buf, offset) {
653
- if (!offset) offset = 0
654
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
655
- var oldOffset = offset
656
- if (defined(obj.tx)) {
657
- buf[offset++] = 10
658
- encodings.bytes.encode(obj.tx, buf, offset)
659
- offset += encodings.bytes.encode.bytes
660
- }
661
- if (defined(obj.txv)) {
662
- buf[offset++] = 18
663
- encodings.bytes.encode(obj.txv, buf, offset)
664
- offset += encodings.bytes.encode.bytes
665
- }
666
- if (defined(obj.iw)) {
667
- buf[offset++] = 26
668
- encodings.bytes.encode(obj.iw, buf, offset)
669
- offset += encodings.bytes.encode.bytes
670
- }
671
- if (defined(obj.in)) {
672
- buf[offset++] = 34
673
- encodings.bytes.encode(obj.in, buf, offset)
674
- offset += encodings.bytes.encode.bytes
675
- }
676
- if (defined(obj.is)) {
677
- buf[offset++] = 42
678
- encodings.bytes.encode(obj.is, buf, offset)
679
- offset += encodings.bytes.encode.bytes
680
- }
681
- if (defined(obj.va)) {
682
- buf[offset++] = 50
683
- encodings.bytes.encode(obj.va, buf, offset)
684
- offset += encodings.bytes.encode.bytes
685
- }
686
- if (defined(obj.vn)) {
687
- buf[offset++] = 58
688
- encodings.bytes.encode(obj.vn, buf, offset)
689
- offset += encodings.bytes.encode.bytes
690
- }
691
- if (defined(obj.vs)) {
692
- buf[offset++] = 66
693
- encodings.bytes.encode(obj.vs, buf, offset)
694
- offset += encodings.bytes.encode.bytes
695
- }
696
- encode.bytes = offset - oldOffset
697
- return buf
698
- }
699
-
700
- function decode (buf, offset, end) {
701
- if (!offset) offset = 0
702
- if (!end) end = buf.length
703
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
704
- var oldOffset = offset
705
- var obj = {
706
- tx: null,
707
- txv: null,
708
- iw: null,
709
- in: null,
710
- is: null,
711
- va: null,
712
- vn: null,
713
- vs: null
714
- }
715
- while (true) {
716
- if (end <= offset) {
717
- decode.bytes = offset - oldOffset
718
- return obj
719
- }
720
- var prefix = varint.decode(buf, offset)
721
- offset += varint.decode.bytes
722
- var tag = prefix >> 3
723
- switch (tag) {
724
- case 1:
725
- obj.tx = encodings.bytes.decode(buf, offset)
726
- offset += encodings.bytes.decode.bytes
727
- break
728
- case 2:
729
- obj.txv = encodings.bytes.decode(buf, offset)
730
- offset += encodings.bytes.decode.bytes
731
- break
732
- case 3:
733
- obj.iw = encodings.bytes.decode(buf, offset)
734
- offset += encodings.bytes.decode.bytes
735
- break
736
- case 4:
737
- obj.in = encodings.bytes.decode(buf, offset)
738
- offset += encodings.bytes.decode.bytes
739
- break
740
- case 5:
741
- obj.is = encodings.bytes.decode(buf, offset)
742
- offset += encodings.bytes.decode.bytes
743
- break
744
- case 6:
745
- obj.va = encodings.bytes.decode(buf, offset)
746
- offset += encodings.bytes.decode.bytes
747
- break
748
- case 7:
749
- obj.vn = encodings.bytes.decode(buf, offset)
750
- offset += encodings.bytes.decode.bytes
751
- break
752
- case 8:
753
- obj.vs = encodings.bytes.decode(buf, offset)
754
- offset += encodings.bytes.decode.bytes
755
- break
756
- default:
757
- offset = skip(prefix & 7, buf, offset)
758
- }
759
- }
760
- }
761
- }
762
-
763
- function defineTxOperation () {
764
- TxOperation.encodingLength = encodingLength
765
- TxOperation.encode = encode
766
- TxOperation.decode = decode
767
-
768
- function encodingLength (obj) {
769
- var length = 0
770
- if (defined(obj.tx)) {
771
- var len = encodings.bytes.encodingLength(obj.tx)
772
- length += 1 + len
773
- }
774
- if (defined(obj.txv)) {
775
- var len = encodings.bytes.encodingLength(obj.txv)
776
- length += 1 + len
777
- }
778
- if (defined(obj.iw)) {
779
- var len = encodings.bytes.encodingLength(obj.iw)
780
- length += 1 + len
781
- }
782
- if (defined(obj.ch)) {
783
- var len = encodings.bytes.encodingLength(obj.ch)
784
- length += 1 + len
785
- }
786
- if (defined(obj.bs)) {
787
- var len = encodings.bytes.encodingLength(obj.bs)
788
- length += 1 + len
789
- }
790
- if (defined(obj.mbs)) {
791
- var len = encodings.bytes.encodingLength(obj.mbs)
792
- length += 1 + len
793
- }
794
- if (defined(obj.in)) {
795
- var len = encodings.bytes.encodingLength(obj.in)
796
- length += 1 + len
797
- }
798
- if (defined(obj.is)) {
799
- var len = encodings.bytes.encodingLength(obj.is)
800
- length += 1 + len
801
- }
802
- if (defined(obj.va)) {
803
- var len = encodings.bytes.encodingLength(obj.va)
804
- length += 1 + len
805
- }
806
- if (defined(obj.vn)) {
807
- var len = encodings.bytes.encodingLength(obj.vn)
808
- length += 1 + len
809
- }
810
- if (defined(obj.vs)) {
811
- var len = encodings.bytes.encodingLength(obj.vs)
812
- length += 1 + len
813
- }
814
- return length
815
- }
816
-
817
- function encode (obj, buf, offset) {
818
- if (!offset) offset = 0
819
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
820
- var oldOffset = offset
821
- if (defined(obj.tx)) {
822
- buf[offset++] = 10
823
- encodings.bytes.encode(obj.tx, buf, offset)
824
- offset += encodings.bytes.encode.bytes
825
- }
826
- if (defined(obj.txv)) {
827
- buf[offset++] = 18
828
- encodings.bytes.encode(obj.txv, buf, offset)
829
- offset += encodings.bytes.encode.bytes
830
- }
831
- if (defined(obj.iw)) {
832
- buf[offset++] = 26
833
- encodings.bytes.encode(obj.iw, buf, offset)
834
- offset += encodings.bytes.encode.bytes
835
- }
836
- if (defined(obj.ch)) {
837
- buf[offset++] = 34
838
- encodings.bytes.encode(obj.ch, buf, offset)
839
- offset += encodings.bytes.encode.bytes
840
- }
841
- if (defined(obj.bs)) {
842
- buf[offset++] = 42
843
- encodings.bytes.encode(obj.bs, buf, offset)
844
- offset += encodings.bytes.encode.bytes
845
- }
846
- if (defined(obj.mbs)) {
847
- buf[offset++] = 50
848
- encodings.bytes.encode(obj.mbs, buf, offset)
849
- offset += encodings.bytes.encode.bytes
850
- }
851
- if (defined(obj.in)) {
852
- buf[offset++] = 58
853
- encodings.bytes.encode(obj.in, buf, offset)
854
- offset += encodings.bytes.encode.bytes
855
- }
856
- if (defined(obj.is)) {
857
- buf[offset++] = 66
858
- encodings.bytes.encode(obj.is, buf, offset)
859
- offset += encodings.bytes.encode.bytes
860
- }
861
- if (defined(obj.va)) {
862
- buf[offset++] = 74
863
- encodings.bytes.encode(obj.va, buf, offset)
864
- offset += encodings.bytes.encode.bytes
865
- }
866
- if (defined(obj.vn)) {
867
- buf[offset++] = 82
868
- encodings.bytes.encode(obj.vn, buf, offset)
869
- offset += encodings.bytes.encode.bytes
870
- }
871
- if (defined(obj.vs)) {
872
- buf[offset++] = 90
873
- encodings.bytes.encode(obj.vs, buf, offset)
874
- offset += encodings.bytes.encode.bytes
875
- }
876
- encode.bytes = offset - oldOffset
877
- return buf
878
- }
879
-
880
- function decode (buf, offset, end) {
881
- if (!offset) offset = 0
882
- if (!end) end = buf.length
883
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
884
- var oldOffset = offset
885
- var obj = {
886
- tx: null,
887
- txv: null,
888
- iw: null,
889
- ch: null,
890
- bs: null,
891
- mbs: null,
892
- in: null,
893
- is: null,
894
- va: null,
895
- vn: null,
896
- vs: null
897
- }
898
- while (true) {
899
- if (end <= offset) {
900
- decode.bytes = offset - oldOffset
901
- return obj
902
- }
903
- var prefix = varint.decode(buf, offset)
904
- offset += varint.decode.bytes
905
- var tag = prefix >> 3
906
- switch (tag) {
907
- case 1:
908
- obj.tx = encodings.bytes.decode(buf, offset)
909
- offset += encodings.bytes.decode.bytes
910
- break
911
- case 2:
912
- obj.txv = encodings.bytes.decode(buf, offset)
913
- offset += encodings.bytes.decode.bytes
914
- break
915
- case 3:
916
- obj.iw = encodings.bytes.decode(buf, offset)
917
- offset += encodings.bytes.decode.bytes
918
- break
919
- case 4:
920
- obj.ch = encodings.bytes.decode(buf, offset)
921
- offset += encodings.bytes.decode.bytes
922
- break
923
- case 5:
924
- obj.bs = encodings.bytes.decode(buf, offset)
925
- offset += encodings.bytes.decode.bytes
926
- break
927
- case 6:
928
- obj.mbs = encodings.bytes.decode(buf, offset)
929
- offset += encodings.bytes.decode.bytes
930
- break
931
- case 7:
932
- obj.in = encodings.bytes.decode(buf, offset)
933
- offset += encodings.bytes.decode.bytes
934
- break
935
- case 8:
936
- obj.is = encodings.bytes.decode(buf, offset)
937
- offset += encodings.bytes.decode.bytes
938
- break
939
- case 9:
940
- obj.va = encodings.bytes.decode(buf, offset)
941
- offset += encodings.bytes.decode.bytes
942
- break
943
- case 10:
944
- obj.vn = encodings.bytes.decode(buf, offset)
945
- offset += encodings.bytes.decode.bytes
946
- break
947
- case 11:
948
- obj.vs = encodings.bytes.decode(buf, offset)
949
- offset += encodings.bytes.decode.bytes
950
- break
951
- default:
952
- offset = skip(prefix & 7, buf, offset)
953
- }
954
- }
955
- }
956
- }
957
-
958
- function defineBootstrapDeploymentOperation () {
959
- BootstrapDeploymentOperation.encodingLength = encodingLength
960
- BootstrapDeploymentOperation.encode = encode
961
- BootstrapDeploymentOperation.decode = decode
962
-
963
- function encodingLength (obj) {
964
- var length = 0
965
- if (defined(obj.tx)) {
966
- var len = encodings.bytes.encodingLength(obj.tx)
967
- length += 1 + len
968
- }
969
- if (defined(obj.txv)) {
970
- var len = encodings.bytes.encodingLength(obj.txv)
971
- length += 1 + len
972
- }
973
- if (defined(obj.bs)) {
974
- var len = encodings.bytes.encodingLength(obj.bs)
975
- length += 1 + len
976
- }
977
- if (defined(obj.ic)) {
978
- var len = encodings.bytes.encodingLength(obj.ic)
979
- length += 1 + len
980
- }
981
- if (defined(obj.in)) {
982
- var len = encodings.bytes.encodingLength(obj.in)
983
- length += 1 + len
984
- }
985
- if (defined(obj.is)) {
986
- var len = encodings.bytes.encodingLength(obj.is)
987
- length += 1 + len
988
- }
989
- if (defined(obj.va)) {
990
- var len = encodings.bytes.encodingLength(obj.va)
991
- length += 1 + len
992
- }
993
- if (defined(obj.vn)) {
994
- var len = encodings.bytes.encodingLength(obj.vn)
995
- length += 1 + len
996
- }
997
- if (defined(obj.vs)) {
998
- var len = encodings.bytes.encodingLength(obj.vs)
999
- length += 1 + len
1000
- }
1001
- return length
1002
- }
1003
-
1004
- function encode (obj, buf, offset) {
1005
- if (!offset) offset = 0
1006
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
1007
- var oldOffset = offset
1008
- if (defined(obj.tx)) {
1009
- buf[offset++] = 10
1010
- encodings.bytes.encode(obj.tx, buf, offset)
1011
- offset += encodings.bytes.encode.bytes
1012
- }
1013
- if (defined(obj.txv)) {
1014
- buf[offset++] = 18
1015
- encodings.bytes.encode(obj.txv, buf, offset)
1016
- offset += encodings.bytes.encode.bytes
1017
- }
1018
- if (defined(obj.bs)) {
1019
- buf[offset++] = 26
1020
- encodings.bytes.encode(obj.bs, buf, offset)
1021
- offset += encodings.bytes.encode.bytes
1022
- }
1023
- if (defined(obj.ic)) {
1024
- buf[offset++] = 34
1025
- encodings.bytes.encode(obj.ic, buf, offset)
1026
- offset += encodings.bytes.encode.bytes
1027
- }
1028
- if (defined(obj.in)) {
1029
- buf[offset++] = 42
1030
- encodings.bytes.encode(obj.in, buf, offset)
1031
- offset += encodings.bytes.encode.bytes
1032
- }
1033
- if (defined(obj.is)) {
1034
- buf[offset++] = 50
1035
- encodings.bytes.encode(obj.is, buf, offset)
1036
- offset += encodings.bytes.encode.bytes
1037
- }
1038
- if (defined(obj.va)) {
1039
- buf[offset++] = 58
1040
- encodings.bytes.encode(obj.va, buf, offset)
1041
- offset += encodings.bytes.encode.bytes
1042
- }
1043
- if (defined(obj.vn)) {
1044
- buf[offset++] = 66
1045
- encodings.bytes.encode(obj.vn, buf, offset)
1046
- offset += encodings.bytes.encode.bytes
1047
- }
1048
- if (defined(obj.vs)) {
1049
- buf[offset++] = 74
1050
- encodings.bytes.encode(obj.vs, buf, offset)
1051
- offset += encodings.bytes.encode.bytes
1052
- }
1053
- encode.bytes = offset - oldOffset
1054
- return buf
1055
- }
1056
-
1057
- function decode (buf, offset, end) {
1058
- if (!offset) offset = 0
1059
- if (!end) end = buf.length
1060
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
1061
- var oldOffset = offset
1062
- var obj = {
1063
- tx: null,
1064
- txv: null,
1065
- bs: null,
1066
- ic: null,
1067
- in: null,
1068
- is: null,
1069
- va: null,
1070
- vn: null,
1071
- vs: null
1072
- }
1073
- while (true) {
1074
- if (end <= offset) {
1075
- decode.bytes = offset - oldOffset
1076
- return obj
1077
- }
1078
- var prefix = varint.decode(buf, offset)
1079
- offset += varint.decode.bytes
1080
- var tag = prefix >> 3
1081
- switch (tag) {
1082
- case 1:
1083
- obj.tx = encodings.bytes.decode(buf, offset)
1084
- offset += encodings.bytes.decode.bytes
1085
- break
1086
- case 2:
1087
- obj.txv = encodings.bytes.decode(buf, offset)
1088
- offset += encodings.bytes.decode.bytes
1089
- break
1090
- case 3:
1091
- obj.bs = encodings.bytes.decode(buf, offset)
1092
- offset += encodings.bytes.decode.bytes
1093
- break
1094
- case 4:
1095
- obj.ic = encodings.bytes.decode(buf, offset)
1096
- offset += encodings.bytes.decode.bytes
1097
- break
1098
- case 5:
1099
- obj.in = encodings.bytes.decode(buf, offset)
1100
- offset += encodings.bytes.decode.bytes
1101
- break
1102
- case 6:
1103
- obj.is = encodings.bytes.decode(buf, offset)
1104
- offset += encodings.bytes.decode.bytes
1105
- break
1106
- case 7:
1107
- obj.va = encodings.bytes.decode(buf, offset)
1108
- offset += encodings.bytes.decode.bytes
1109
- break
1110
- case 8:
1111
- obj.vn = encodings.bytes.decode(buf, offset)
1112
- offset += encodings.bytes.decode.bytes
1113
- break
1114
- case 9:
1115
- obj.vs = encodings.bytes.decode(buf, offset)
1116
- offset += encodings.bytes.decode.bytes
1117
- break
1118
- default:
1119
- offset = skip(prefix & 7, buf, offset)
1120
- }
1121
- }
1122
- }
1123
- }
1124
-
1125
- function defineOperation () {
1126
- Operation.encodingLength = encodingLength
1127
- Operation.encode = encode
1128
- Operation.decode = decode
1129
-
1130
- function encodingLength (obj) {
1131
- var length = 0
1132
- if ((+defined(obj.cao) + +defined(obj.aco) + +defined(obj.bio) + +defined(obj.tro) + +defined(obj.rao) + +defined(obj.bdo) + +defined(obj.txo)) > 1) throw new Error("only one of the properties defined in oneof value can be set")
1133
- if (defined(obj.type)) {
1134
- var len = encodings.enum.encodingLength(obj.type)
1135
- length += 1 + len
1136
- }
1137
- if (defined(obj.address)) {
1138
- var len = encodings.bytes.encodingLength(obj.address)
1139
- length += 1 + len
1140
- }
1141
- if (defined(obj.cao)) {
1142
- var len = CoreAdminOperation.encodingLength(obj.cao)
1143
- length += varint.encodingLength(len)
1144
- length += 1 + len
1145
- }
1146
- if (defined(obj.aco)) {
1147
- var len = AdminControlOperation.encodingLength(obj.aco)
1148
- length += varint.encodingLength(len)
1149
- length += 1 + len
1150
- }
1151
- if (defined(obj.bio)) {
1152
- var len = BalanceInitializationOperation.encodingLength(obj.bio)
1153
- length += varint.encodingLength(len)
1154
- length += 1 + len
1155
- }
1156
- if (defined(obj.tro)) {
1157
- var len = TransferOperation.encodingLength(obj.tro)
1158
- length += varint.encodingLength(len)
1159
- length += 1 + len
1160
- }
1161
- if (defined(obj.rao)) {
1162
- var len = RoleAccessOperation.encodingLength(obj.rao)
1163
- length += varint.encodingLength(len)
1164
- length += 1 + len
1165
- }
1166
- if (defined(obj.bdo)) {
1167
- var len = BootstrapDeploymentOperation.encodingLength(obj.bdo)
1168
- length += varint.encodingLength(len)
1169
- length += 1 + len
1170
- }
1171
- if (defined(obj.txo)) {
1172
- var len = TxOperation.encodingLength(obj.txo)
1173
- length += varint.encodingLength(len)
1174
- length += 1 + len
1175
- }
1176
- return length
1177
- }
1178
-
1179
- function encode (obj, buf, offset) {
1180
- if (!offset) offset = 0
1181
- if (!buf) buf = b4a.allocUnsafe(encodingLength(obj))
1182
- var oldOffset = offset
1183
- if ((+defined(obj.cao) + +defined(obj.aco) + +defined(obj.bio) + +defined(obj.tro) + +defined(obj.rao) + +defined(obj.bdo) + +defined(obj.txo)) > 1) throw new Error("only one of the properties defined in oneof value can be set")
1184
- if (defined(obj.type)) {
1185
- buf[offset++] = 8
1186
- encodings.enum.encode(obj.type, buf, offset)
1187
- offset += encodings.enum.encode.bytes
1188
- }
1189
- if (defined(obj.address)) {
1190
- buf[offset++] = 18
1191
- encodings.bytes.encode(obj.address, buf, offset)
1192
- offset += encodings.bytes.encode.bytes
1193
- }
1194
- if (defined(obj.cao)) {
1195
- buf[offset++] = 26
1196
- varint.encode(CoreAdminOperation.encodingLength(obj.cao), buf, offset)
1197
- offset += varint.encode.bytes
1198
- CoreAdminOperation.encode(obj.cao, buf, offset)
1199
- offset += CoreAdminOperation.encode.bytes
1200
- }
1201
- if (defined(obj.aco)) {
1202
- buf[offset++] = 34
1203
- varint.encode(AdminControlOperation.encodingLength(obj.aco), buf, offset)
1204
- offset += varint.encode.bytes
1205
- AdminControlOperation.encode(obj.aco, buf, offset)
1206
- offset += AdminControlOperation.encode.bytes
1207
- }
1208
- if (defined(obj.bio)) {
1209
- buf[offset++] = 42
1210
- varint.encode(BalanceInitializationOperation.encodingLength(obj.bio), buf, offset)
1211
- offset += varint.encode.bytes
1212
- BalanceInitializationOperation.encode(obj.bio, buf, offset)
1213
- offset += BalanceInitializationOperation.encode.bytes
1214
- }
1215
- if (defined(obj.tro)) {
1216
- buf[offset++] = 50
1217
- varint.encode(TransferOperation.encodingLength(obj.tro), buf, offset)
1218
- offset += varint.encode.bytes
1219
- TransferOperation.encode(obj.tro, buf, offset)
1220
- offset += TransferOperation.encode.bytes
1221
- }
1222
- if (defined(obj.rao)) {
1223
- buf[offset++] = 58
1224
- varint.encode(RoleAccessOperation.encodingLength(obj.rao), buf, offset)
1225
- offset += varint.encode.bytes
1226
- RoleAccessOperation.encode(obj.rao, buf, offset)
1227
- offset += RoleAccessOperation.encode.bytes
1228
- }
1229
- if (defined(obj.bdo)) {
1230
- buf[offset++] = 66
1231
- varint.encode(BootstrapDeploymentOperation.encodingLength(obj.bdo), buf, offset)
1232
- offset += varint.encode.bytes
1233
- BootstrapDeploymentOperation.encode(obj.bdo, buf, offset)
1234
- offset += BootstrapDeploymentOperation.encode.bytes
1235
- }
1236
- if (defined(obj.txo)) {
1237
- buf[offset++] = 74
1238
- varint.encode(TxOperation.encodingLength(obj.txo), buf, offset)
1239
- offset += varint.encode.bytes
1240
- TxOperation.encode(obj.txo, buf, offset)
1241
- offset += TxOperation.encode.bytes
1242
- }
1243
- encode.bytes = offset - oldOffset
1244
- return buf
1245
- }
1246
-
1247
- function decode (buf, offset, end) {
1248
- if (!offset) offset = 0
1249
- if (!end) end = buf.length
1250
- if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
1251
- var oldOffset = offset
1252
- var obj = {
1253
- type: 0,
1254
- address: null,
1255
- cao: null,
1256
- aco: null,
1257
- bio: null,
1258
- tro: null,
1259
- rao: null,
1260
- bdo: null,
1261
- txo: null
1262
- }
1263
- while (true) {
1264
- if (end <= offset) {
1265
- decode.bytes = offset - oldOffset
1266
- return obj
1267
- }
1268
- var prefix = varint.decode(buf, offset)
1269
- offset += varint.decode.bytes
1270
- var tag = prefix >> 3
1271
- switch (tag) {
1272
- case 1:
1273
- obj.type = encodings.enum.decode(buf, offset)
1274
- offset += encodings.enum.decode.bytes
1275
- break
1276
- case 2:
1277
- obj.address = encodings.bytes.decode(buf, offset)
1278
- offset += encodings.bytes.decode.bytes
1279
- break
1280
- case 3:
1281
- delete obj.aco
1282
- delete obj.bio
1283
- delete obj.tro
1284
- delete obj.rao
1285
- delete obj.bdo
1286
- delete obj.txo
1287
- var len = varint.decode(buf, offset)
1288
- offset += varint.decode.bytes
1289
- obj.cao = CoreAdminOperation.decode(buf, offset, offset + len)
1290
- offset += CoreAdminOperation.decode.bytes
1291
- break
1292
- case 4:
1293
- delete obj.cao
1294
- delete obj.bio
1295
- delete obj.tro
1296
- delete obj.rao
1297
- delete obj.bdo
1298
- delete obj.txo
1299
- var len = varint.decode(buf, offset)
1300
- offset += varint.decode.bytes
1301
- obj.aco = AdminControlOperation.decode(buf, offset, offset + len)
1302
- offset += AdminControlOperation.decode.bytes
1303
- break
1304
- case 5:
1305
- delete obj.cao
1306
- delete obj.aco
1307
- delete obj.tro
1308
- delete obj.rao
1309
- delete obj.bdo
1310
- delete obj.txo
1311
- var len = varint.decode(buf, offset)
1312
- offset += varint.decode.bytes
1313
- obj.bio = BalanceInitializationOperation.decode(buf, offset, offset + len)
1314
- offset += BalanceInitializationOperation.decode.bytes
1315
- break
1316
- case 6:
1317
- delete obj.cao
1318
- delete obj.aco
1319
- delete obj.bio
1320
- delete obj.rao
1321
- delete obj.bdo
1322
- delete obj.txo
1323
- var len = varint.decode(buf, offset)
1324
- offset += varint.decode.bytes
1325
- obj.tro = TransferOperation.decode(buf, offset, offset + len)
1326
- offset += TransferOperation.decode.bytes
1327
- break
1328
- case 7:
1329
- delete obj.cao
1330
- delete obj.aco
1331
- delete obj.bio
1332
- delete obj.tro
1333
- delete obj.bdo
1334
- delete obj.txo
1335
- var len = varint.decode(buf, offset)
1336
- offset += varint.decode.bytes
1337
- obj.rao = RoleAccessOperation.decode(buf, offset, offset + len)
1338
- offset += RoleAccessOperation.decode.bytes
1339
- break
1340
- case 8:
1341
- delete obj.cao
1342
- delete obj.aco
1343
- delete obj.bio
1344
- delete obj.tro
1345
- delete obj.rao
1346
- delete obj.txo
1347
- var len = varint.decode(buf, offset)
1348
- offset += varint.decode.bytes
1349
- obj.bdo = BootstrapDeploymentOperation.decode(buf, offset, offset + len)
1350
- offset += BootstrapDeploymentOperation.decode.bytes
1351
- break
1352
- case 9:
1353
- delete obj.cao
1354
- delete obj.aco
1355
- delete obj.bio
1356
- delete obj.tro
1357
- delete obj.rao
1358
- delete obj.bdo
1359
- var len = varint.decode(buf, offset)
1360
- offset += varint.decode.bytes
1361
- obj.txo = TxOperation.decode(buf, offset, offset + len)
1362
- offset += TxOperation.decode.bytes
1363
- break
1364
- default:
1365
- offset = skip(prefix & 7, buf, offset)
1366
- }
1367
- }
1368
- }
1369
- }
1370
-
1371
- function defined (val) {
1372
- return val !== null && val !== undefined && (typeof val !== 'number' || !isNaN(val))
1373
- }