@graphprotocol/graph-cli 0.25.2 → 0.26.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 (78) hide show
  1. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/chain/ethereum.ts +1 -1
  2. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/chain/tendermint.ts +554 -0
  3. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/common/collections.ts +52 -2
  4. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/common/numbers.ts +11 -0
  5. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/common/value.ts +47 -0
  6. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/global/global.ts +150 -1
  7. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/index.ts +2 -0
  8. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/package.json +2 -1
  9. package/examples/basic-event-handlers/node_modules/@graphprotocol/graph-ts/test/test.js +2 -0
  10. package/examples/basic-event-handlers/node_modules/chalk/node_modules/supports-color/index.js +50 -0
  11. package/examples/basic-event-handlers/node_modules/chalk/node_modules/supports-color/license +21 -0
  12. package/examples/basic-event-handlers/node_modules/chalk/node_modules/supports-color/package.json +49 -0
  13. package/examples/basic-event-handlers/node_modules/chalk/node_modules/supports-color/readme.md +36 -0
  14. package/examples/basic-event-handlers/node_modules/cliui/node_modules/ansi-regex/index.js +10 -0
  15. package/examples/basic-event-handlers/node_modules/cliui/node_modules/ansi-regex/license +9 -0
  16. package/examples/basic-event-handlers/node_modules/cliui/node_modules/ansi-regex/package.json +53 -0
  17. package/examples/basic-event-handlers/node_modules/cliui/node_modules/ansi-regex/readme.md +46 -0
  18. package/examples/basic-event-handlers/node_modules/cliui/node_modules/strip-ansi/index.js +4 -0
  19. package/examples/basic-event-handlers/node_modules/cliui/node_modules/strip-ansi/license +9 -0
  20. package/examples/basic-event-handlers/node_modules/cliui/node_modules/strip-ansi/package.json +52 -0
  21. package/examples/basic-event-handlers/node_modules/cliui/node_modules/strip-ansi/readme.md +39 -0
  22. package/examples/basic-event-handlers/node_modules/keccak/build/Makefile +342 -0
  23. package/examples/basic-event-handlers/node_modules/keccak/build/Release/.deps/Release/obj.target/keccak/src/addon.o.d.raw +27 -0
  24. package/examples/basic-event-handlers/node_modules/keccak/build/binding.Makefile +6 -0
  25. package/examples/basic-event-handlers/node_modules/keccak/build/config.gypi +207 -0
  26. package/examples/basic-event-handlers/node_modules/keccak/build/gyp-mac-tool +615 -0
  27. package/examples/basic-event-handlers/node_modules/keccak/build/keccak.target.mk +209 -0
  28. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/.coveralls.yml +1 -0
  29. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/.eslintrc +14 -0
  30. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/.travis.yml +20 -0
  31. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/CHANGELOG.md +395 -0
  32. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/LICENSE +19 -0
  33. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/Makefile +58 -0
  34. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/README.md +368 -0
  35. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/karma.conf.js +70 -0
  36. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/node.js +1 -0
  37. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/package.json +43 -0
  38. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/src/browser.js +195 -0
  39. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/src/debug.js +225 -0
  40. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/src/index.js +10 -0
  41. package/examples/basic-event-handlers/node_modules/mocha/node_modules/debug/src/node.js +186 -0
  42. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/LICENSE +15 -0
  43. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/README.md +368 -0
  44. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/changelog.md +67 -0
  45. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/common.js +240 -0
  46. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  47. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/package.json +43 -0
  48. package/examples/basic-event-handlers/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  49. package/examples/basic-event-handlers/node_modules/string-width/node_modules/ansi-regex/index.js +10 -0
  50. package/examples/basic-event-handlers/node_modules/string-width/node_modules/ansi-regex/license +9 -0
  51. package/examples/basic-event-handlers/node_modules/string-width/node_modules/ansi-regex/package.json +53 -0
  52. package/examples/basic-event-handlers/node_modules/string-width/node_modules/ansi-regex/readme.md +46 -0
  53. package/examples/basic-event-handlers/node_modules/string-width/node_modules/strip-ansi/index.js +4 -0
  54. package/examples/basic-event-handlers/node_modules/string-width/node_modules/strip-ansi/license +9 -0
  55. package/examples/basic-event-handlers/node_modules/string-width/node_modules/strip-ansi/package.json +52 -0
  56. package/examples/basic-event-handlers/node_modules/string-width/node_modules/strip-ansi/readme.md +39 -0
  57. package/examples/basic-event-handlers/node_modules/websocket/build/Makefile +1 -1
  58. package/examples/basic-event-handlers/node_modules/websocket/build/Release/.deps/Release/obj.target/bufferutil/src/bufferutil.o.d.raw +16 -16
  59. package/examples/basic-event-handlers/node_modules/websocket/build/bufferutil.target.mk +14 -14
  60. package/examples/basic-event-handlers/node_modules/websocket/build/config.gypi +1 -1
  61. package/examples/basic-event-handlers/node_modules/websocket/build/validation.target.mk +14 -14
  62. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/index.js +46 -0
  63. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/license +21 -0
  64. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json +45 -0
  65. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/readme.md +39 -0
  66. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/string-width/index.js +37 -0
  67. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/string-width/license +21 -0
  68. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/string-width/package.json +56 -0
  69. package/examples/basic-event-handlers/node_modules/wrap-ansi/node_modules/string-width/readme.md +42 -0
  70. package/package.json +1 -1
  71. package/src/codegen/schema.js +2 -40
  72. package/src/codegen/schema.test.js +362 -0
  73. package/src/codegen/types/conversions.js +19 -19
  74. package/src/codegen/types/index.js +0 -25
  75. package/src/codegen/types/index.test.js +0 -22
  76. package/src/codegen/typescript.js +7 -11
  77. package/examples/basic-event-handlers/node_modules/mocha/lib/reporters/base.js.orig +0 -498
  78. package/examples/basic-event-handlers/node_modules/node-fetch/lib/index.js +0 -1416
@@ -356,7 +356,7 @@ export namespace ethereum {
356
356
  public gasLimit: BigInt,
357
357
  public gasPrice: BigInt,
358
358
  public input: Bytes,
359
- public nonce: Bytes,
359
+ public nonce: BigInt,
360
360
  ) {}
361
361
  }
362
362
 
@@ -0,0 +1,554 @@
1
+ import '../common/eager_offset'
2
+ import { Bytes } from '../common/collections'
3
+
4
+ export namespace tendermint {
5
+ export enum SignedMsgType {
6
+ SIGNED_MSG_TYPE_UNKNOWN = 0,
7
+ SIGNED_MSG_TYPE_PREVOTE = 1,
8
+ SIGNED_MSG_TYPE_PRECOMMIT = 2,
9
+ SIGNED_MSG_TYPE_PROPOSAL = 32,
10
+ }
11
+
12
+ export enum BlockIDFlag {
13
+ BLOCK_ID_FLAG_UNKNOWN = 0,
14
+ BLOCK_ID_FLAG_ABSENT = 1,
15
+ BLOCK_ID_FLAG_COMMIT = 2,
16
+ BLOCK_ID_FLAG_NIL = 3,
17
+ }
18
+
19
+ export class EventList {
20
+ public newBlock: EventBlock
21
+ public transaction: Array<EventTx>
22
+ public validatorSetUpdates: EventValidatorSetUpdates
23
+
24
+ constructor(
25
+ newBlock: EventBlock,
26
+ transaction: Array<EventTx>,
27
+ validatorSetUpdates: EventValidatorSetUpdates,
28
+ ) {
29
+ this.newBlock = newBlock
30
+ this.transaction = transaction
31
+ this.validatorSetUpdates = validatorSetUpdates
32
+ }
33
+ }
34
+
35
+ export class EventData {
36
+ public event: Event
37
+ public block: EventBlock
38
+
39
+ constructor(event: Event, block: EventBlock) {
40
+ this.event = event
41
+ this.block = block
42
+ }
43
+ }
44
+
45
+ export class Block {
46
+ public header: Header
47
+ public data: Data
48
+ public evidence: EvidenceList
49
+ public lastCommit: Commit
50
+
51
+ constructor(header: Header, data: Data, evidence: EvidenceList, lastCommit: Commit) {
52
+ this.header = header
53
+ this.data = data
54
+ this.evidence = evidence
55
+ this.lastCommit = lastCommit
56
+ }
57
+ }
58
+
59
+ export class BlockID {
60
+ public hash: Bytes
61
+ public partSetHeader: PartSetHeader
62
+
63
+ constructor(hash: Bytes, partSetHeader: PartSetHeader) {
64
+ this.hash = hash
65
+ this.partSetHeader = partSetHeader
66
+ }
67
+ }
68
+
69
+ export class BlockParams {
70
+ public maxBytes: i64
71
+ public maxGas: i64
72
+
73
+ constructor(maxBytes: i64, maxGas: i64) {
74
+ this.maxBytes = maxBytes
75
+ this.maxGas = maxGas
76
+ }
77
+ }
78
+
79
+ export class Commit {
80
+ public height: i64
81
+ public round: i32
82
+ public blockId: BlockID
83
+ public signatures: Array<CommitSig>
84
+
85
+ constructor(height: i64, round: i32, blockId: BlockID, signatures: Array<CommitSig>) {
86
+ this.height = height
87
+ this.round = round
88
+ this.blockId = blockId
89
+ this.signatures = signatures
90
+ }
91
+ }
92
+
93
+ export class CommitSig {
94
+ public blockIdFlag: BlockIDFlag
95
+ public validatorAddress: Bytes
96
+ public timestamp: Timestamp
97
+ public signature: Bytes
98
+
99
+ constructor(
100
+ blockIdFlag: BlockIDFlag,
101
+ validatorAddress: Bytes,
102
+ timestamp: Timestamp,
103
+ signature: Bytes,
104
+ ) {
105
+ this.blockIdFlag = blockIdFlag
106
+ this.validatorAddress = validatorAddress
107
+ this.timestamp = timestamp
108
+ this.signature = signature
109
+ }
110
+ }
111
+
112
+ export class Consensus {
113
+ public block: u64
114
+ public app: u64
115
+
116
+ constructor(block: u64, app: u64) {
117
+ this.block = block
118
+ this.app = app
119
+ }
120
+ }
121
+
122
+ export class ConsensusParams {
123
+ public block: BlockParams
124
+ public evidence: EvidenceParams
125
+ public validator: ValidatorParams
126
+ public version: VersionParams
127
+
128
+ constructor(
129
+ block: BlockParams,
130
+ evidence: EvidenceParams,
131
+ validator: ValidatorParams,
132
+ version: VersionParams,
133
+ ) {
134
+ this.block = block
135
+ this.evidence = evidence
136
+ this.validator = validator
137
+ this.version = version
138
+ }
139
+ }
140
+
141
+ export class Data {
142
+ public txs: Array<Bytes>
143
+
144
+ constructor(txs: Array<Bytes>) {
145
+ this.txs = txs
146
+ }
147
+ }
148
+
149
+ export class Duration {
150
+ public seconds: i64
151
+ public nanos: i32
152
+
153
+ constructor(seconds: i64, nanos: i32) {
154
+ this.seconds = seconds
155
+ this.nanos = nanos
156
+ }
157
+ }
158
+
159
+ export class DuplicateVoteEvidence {
160
+ public voteA: EventVote
161
+ public voteB: EventVote
162
+ public totalVotingPower: i64
163
+ public validatorPower: i64
164
+ public timestamp: Timestamp
165
+
166
+ constructor(
167
+ voteA: EventVote,
168
+ voteB: EventVote,
169
+ totalVotingPower: i64,
170
+ validatorPower: i64,
171
+ timestamp: Timestamp,
172
+ ) {
173
+ this.voteA = voteA
174
+ this.voteB = voteB
175
+ this.totalVotingPower = totalVotingPower
176
+ this.validatorPower = validatorPower
177
+ this.timestamp = timestamp
178
+ }
179
+ }
180
+
181
+ export class Event {
182
+ public eventType: string
183
+ public attributes: Array<EventAttribute>
184
+
185
+ constructor(eventType: string, attributes: Array<EventAttribute>) {
186
+ this.eventType = eventType
187
+ this.attributes = attributes
188
+ }
189
+ }
190
+
191
+ export class EventAttribute {
192
+ public key: string
193
+ public value: string
194
+ public index: bool
195
+
196
+ constructor(key: string, value: string, index: bool) {
197
+ this.key = key
198
+ this.value = value
199
+ this.index = index
200
+ }
201
+ }
202
+
203
+ export class EventBlock {
204
+ public block: Block
205
+ public blockId: BlockID
206
+ public resultBeginBlock: ResponseBeginBlock
207
+ public resultEndBlock: ResponseEndBlock
208
+
209
+ constructor(
210
+ block: Block,
211
+ blockId: BlockID,
212
+ resultBeginBlock: ResponseBeginBlock,
213
+ resultEndBlock: ResponseEndBlock,
214
+ ) {
215
+ this.block = block
216
+ this.blockId = blockId
217
+ this.resultBeginBlock = resultBeginBlock
218
+ this.resultEndBlock = resultEndBlock
219
+ }
220
+ }
221
+
222
+ export class EventTx {
223
+ public txResult: TxResult
224
+
225
+ constructor(txResult: TxResult) {
226
+ this.txResult = txResult
227
+ }
228
+ }
229
+
230
+ export class EventValidatorSetUpdates {
231
+ public validatorUpdates: Array<Validator>
232
+
233
+ constructor(validatorUpdates: Array<Validator>) {
234
+ this.validatorUpdates = validatorUpdates
235
+ }
236
+ }
237
+
238
+ export class EventVote {
239
+ public eventVoteType: SignedMsgType
240
+ public height: u64
241
+ public round: i32
242
+ public blockId: BlockID
243
+ public timestamp: Timestamp
244
+ public validatorAddress: Bytes
245
+ public validatorIndex: i32
246
+ public signature: Bytes
247
+
248
+ constructor(
249
+ eventVoteType: SignedMsgType,
250
+ height: u64,
251
+ round: i32,
252
+ blockId: BlockID,
253
+ timestamp: Timestamp,
254
+ validatorAddress: Bytes,
255
+ validatorIndex: i32,
256
+ signature: Bytes,
257
+ ) {
258
+ this.eventVoteType = eventVoteType
259
+ this.height = height
260
+ this.round = round
261
+ this.blockId = blockId
262
+ this.timestamp = timestamp
263
+ this.validatorAddress = validatorAddress
264
+ this.validatorIndex = validatorIndex
265
+ this.signature = signature
266
+ }
267
+ }
268
+
269
+ export class Evidence {
270
+ public duplicateVoteEvidence: DuplicateVoteEvidence
271
+ public lightClientAttackEvidence: LightClientAttackEvidence
272
+
273
+ constructor(
274
+ duplicateVoteEvidence: DuplicateVoteEvidence,
275
+ lightClientAttackEvidence: LightClientAttackEvidence,
276
+ ) {
277
+ this.duplicateVoteEvidence = duplicateVoteEvidence
278
+ this.lightClientAttackEvidence = lightClientAttackEvidence
279
+ }
280
+ }
281
+
282
+ export class EvidenceList {
283
+ public evidence: Array<Evidence>
284
+
285
+ constructor(evidence: Array<Evidence>) {
286
+ this.evidence = evidence
287
+ }
288
+ }
289
+
290
+ export class EvidenceParams {
291
+ public maxAgeNumBlocks: i64
292
+ public maxAgeDuration: Duration
293
+ public maxBytes: i64
294
+
295
+ constructor(maxAgeNumBlocks: i64, maxAgeDuration: Duration, maxBytes: i64) {
296
+ this.maxAgeNumBlocks = maxAgeNumBlocks
297
+ this.maxAgeDuration = maxAgeDuration
298
+ this.maxBytes = maxBytes
299
+ }
300
+ }
301
+
302
+ export class Header {
303
+ public version: Consensus
304
+ public chainId: string
305
+ public height: u64
306
+ public time: Timestamp
307
+ public lastBlockId: BlockID
308
+ public lastCommitHash: Bytes
309
+ public dataHash: Bytes
310
+ public validatorsHash: Bytes
311
+ public nextValidatorsHash: Bytes
312
+ public consensusHash: Bytes
313
+ public appHash: Bytes
314
+ public lastResultsHash: Bytes
315
+ public evidenceHash: Bytes
316
+ public proposerAddress: Bytes
317
+
318
+ constructor(
319
+ version: Consensus,
320
+ chainId: string,
321
+ height: u64,
322
+ time: Timestamp,
323
+ lastBlockId: BlockID,
324
+ lastCommitHash: Bytes,
325
+ dataHash: Bytes,
326
+ validatorsHash: Bytes,
327
+ nextValidatorsHash: Bytes,
328
+ consensusHash: Bytes,
329
+ appHash: Bytes,
330
+ lastResultsHash: Bytes,
331
+ evidenceHash: Bytes,
332
+ proposerAddress: Bytes,
333
+ ) {
334
+ this.version = version
335
+ this.chainId = chainId
336
+ this.height = height
337
+ this.time = time
338
+ this.lastBlockId = lastBlockId
339
+ this.lastCommitHash = lastCommitHash
340
+ this.dataHash = dataHash
341
+ this.validatorsHash = validatorsHash
342
+ this.nextValidatorsHash = nextValidatorsHash
343
+ this.consensusHash = consensusHash
344
+ this.appHash = appHash
345
+ this.lastResultsHash = lastResultsHash
346
+ this.evidenceHash = evidenceHash
347
+ this.proposerAddress = proposerAddress
348
+ }
349
+ }
350
+
351
+ export class LightBlock {
352
+ public signedHeader: SignedHeader
353
+ public validatorSet: ValidatorSet
354
+
355
+ constructor(signedHeader: SignedHeader, validatorSet: ValidatorSet) {
356
+ this.signedHeader = signedHeader
357
+ this.validatorSet = validatorSet
358
+ }
359
+ }
360
+
361
+ export class LightClientAttackEvidence {
362
+ public conflictingBlock: LightBlock
363
+ public commonHeight: i64
364
+ public byzantineValidators: Array<Validator>
365
+ public totalVotingPower: i64
366
+ public timestamp: Timestamp
367
+
368
+ constructor(
369
+ conflictingBlock: LightBlock,
370
+ commonHeight: i64,
371
+ byzantineValidators: Array<Validator>,
372
+ totalVotingPower: i64,
373
+ timestamp: Timestamp,
374
+ ) {
375
+ this.conflictingBlock = conflictingBlock
376
+ this.commonHeight = commonHeight
377
+ this.byzantineValidators = byzantineValidators
378
+ this.totalVotingPower = totalVotingPower
379
+ this.timestamp = timestamp
380
+ }
381
+ }
382
+
383
+ export class PublicKey {
384
+ public ed25519: Bytes
385
+ public secp256k1: Bytes
386
+
387
+ constructor(ed25519: Bytes, secp256k1: Bytes) {
388
+ this.ed25519 = ed25519
389
+ this.secp256k1 = secp256k1
390
+ }
391
+ }
392
+
393
+ export class PartSetHeader {
394
+ public total: u32
395
+ public hash: Bytes
396
+
397
+ constructor(total: u32, hash: Bytes) {
398
+ this.total = total
399
+ this.hash = hash
400
+ }
401
+ }
402
+
403
+ export class ResponseBeginBlock {
404
+ public events: Array<Event>
405
+
406
+ constructor(events: Array<Event>) {
407
+ this.events = events
408
+ }
409
+ }
410
+
411
+ export class ResponseEndBlock {
412
+ public validatorUpdates: Array<ValidatorUpdate>
413
+ public consensusParamUpdates: ConsensusParams
414
+ public events: Array<Event>
415
+
416
+ constructor(
417
+ validatorUpdates: Array<ValidatorUpdate>,
418
+ consensusParamUpdates: ConsensusParams,
419
+ events: Array<Event>,
420
+ ) {
421
+ this.validatorUpdates = validatorUpdates
422
+ this.consensusParamUpdates = consensusParamUpdates
423
+ this.events = events
424
+ }
425
+ }
426
+
427
+ export class ResponseDeliverTx {
428
+ public code: u32
429
+ public data: Bytes
430
+ public log: string
431
+ public info: string
432
+ public gasWanted: i64
433
+ public gasUsed: i64
434
+ public events: Array<Event>
435
+ public codespace: string
436
+
437
+ constructor(
438
+ code: u32,
439
+ data: Bytes,
440
+ log: string,
441
+ info: string,
442
+ gasWanted: i64,
443
+ gasUsed: i64,
444
+ events: Array<Event>,
445
+ codespace: string,
446
+ ) {
447
+ this.code = code
448
+ this.data = data
449
+ this.log = log
450
+ this.info = info
451
+ this.gasWanted = gasWanted
452
+ this.gasUsed = gasUsed
453
+ this.events = events
454
+ this.codespace = codespace
455
+ }
456
+ }
457
+
458
+ export class SignedHeader {
459
+ public header: Header
460
+ public commit: Commit
461
+
462
+ constructor(header: Header, commit: Commit) {
463
+ this.header = header
464
+ this.commit = commit
465
+ }
466
+ }
467
+
468
+ export class Timestamp {
469
+ public seconds: i64
470
+ public nanos: i32
471
+
472
+ constructor(seconds: i64, nanos: i32) {
473
+ this.seconds = seconds
474
+ this.nanos = nanos
475
+ }
476
+ }
477
+
478
+ export class TxResult {
479
+ public height: u64
480
+ public index: u32
481
+ public tx: Bytes
482
+ public result: ResponseDeliverTx
483
+
484
+ constructor(height: u64, index: u32, tx: Bytes, result: ResponseDeliverTx) {
485
+ this.height = height
486
+ this.index = index
487
+ this.tx = tx
488
+ this.result = result
489
+ }
490
+ }
491
+
492
+ export class Validator {
493
+ public address: Bytes
494
+ public pubKey: PublicKey
495
+ public votingPower: i64
496
+ public proposerPriority: i64
497
+
498
+ constructor(
499
+ address: Bytes,
500
+ pubKey: PublicKey,
501
+ votingPower: i64,
502
+ proposerPriority: i64,
503
+ ) {
504
+ this.address = address
505
+ this.pubKey = pubKey
506
+ this.votingPower = votingPower
507
+ this.proposerPriority = proposerPriority
508
+ }
509
+ }
510
+
511
+ export class ValidatorParams {
512
+ public pubKeyTypes: Array<string>
513
+
514
+ constructor(pubKeyTypes: Array<string>) {
515
+ this.pubKeyTypes = pubKeyTypes
516
+ }
517
+ }
518
+
519
+ export class ValidatorSet {
520
+ public validators: Array<Validator>
521
+ public proposer: Validator
522
+ public totalVotingPower: i64
523
+
524
+ constructor(
525
+ validators: Array<Validator>,
526
+ proposer: Validator,
527
+ totalVotingPower: i64,
528
+ ) {
529
+ this.validators = validators
530
+ this.proposer = proposer
531
+ this.totalVotingPower = totalVotingPower
532
+ }
533
+ }
534
+
535
+ export class ValidatorUpdate {
536
+ public address: Bytes
537
+ public pubKey: PublicKey
538
+ public power: i64
539
+
540
+ constructor(address: Bytes, pubKey: PublicKey, power: i64) {
541
+ this.address = address
542
+ this.pubKey = pubKey
543
+ this.power = power
544
+ }
545
+ }
546
+
547
+ export class VersionParams {
548
+ public appVersion: u64
549
+
550
+ constructor(appVersion: u64) {
551
+ this.appVersion = appVersion
552
+ }
553
+ }
554
+ }
@@ -1,4 +1,4 @@
1
- import { BigInt, BigDecimal } from './numbers'
1
+ import { BigInt, BigDecimal, Address } from './numbers'
2
2
  import { Value } from './value'
3
3
  import { typeConversion } from './conversion'
4
4
 
@@ -67,7 +67,9 @@ export class ByteArray extends Uint8Array {
67
67
  }
68
68
 
69
69
  /**
70
- * Input length must be even.
70
+ * Convert the string `hex` which must consist of an even number of
71
+ * hexadecimal digits to a `ByteArray`. The string `hex` can optionally
72
+ * start with '0x'
71
73
  */
72
74
  static fromHexString(hex: string): ByteArray {
73
75
  assert(hex.length % 2 == 0, 'input ' + hex + ' has odd length')
@@ -165,6 +167,21 @@ export class ByteArray extends Uint8Array {
165
167
  return x
166
168
  }
167
169
 
170
+ /** Create a new `ByteArray` that consist of `this` directly followed by
171
+ * the bytes from `other` */
172
+ concat(other: ByteArray): ByteArray {
173
+ let newArray = new ByteArray(this.length + other.length)
174
+ newArray.set(this, 0)
175
+ newArray.set(other, this.length)
176
+ return newArray
177
+ }
178
+
179
+ /** Create a new `ByteArray` that consists of `this` directly followed by
180
+ * the representation of `other` as bytes */
181
+ concatI32(other: i32): ByteArray {
182
+ return this.concat(ByteArray.fromI32(other))
183
+ }
184
+
168
185
  /**
169
186
  * Interprets the byte array as a little-endian I64.
170
187
  * Throws in case of overflow.
@@ -268,13 +285,34 @@ export class Bytes extends ByteArray {
268
285
  return changetype<Bytes>(uint8Array)
269
286
  }
270
287
 
288
+ /**
289
+ * Convert the string `hex` which must consist of an even number of
290
+ * hexadecimal digits to a `ByteArray`. The string `hex` can optionally
291
+ * start with '0x'
292
+ */
293
+ static fromHexString(str: string): Bytes {
294
+ return changetype<Bytes>(ByteArray.fromHexString(str))
295
+ }
296
+
271
297
  static fromUTF8(str: string): Bytes {
272
298
  return Bytes.fromByteArray(ByteArray.fromUTF8(str))
273
299
  }
274
300
 
301
+ static fromI32(i: i32): Bytes {
302
+ return changetype<Bytes>(ByteArray.fromI32(i))
303
+ }
304
+
275
305
  static empty(): Bytes {
276
306
  return changetype<Bytes>(ByteArray.empty())
277
307
  }
308
+
309
+ concat(other: Bytes): Bytes {
310
+ return changetype<Bytes>(super.concat(other))
311
+ }
312
+
313
+ concatI32(other: i32): Bytes {
314
+ return changetype<Bytes>(super.concat(ByteArray.fromI32(other)))
315
+ }
278
316
  }
279
317
 
280
318
  /**
@@ -318,6 +356,12 @@ export class TypedMap<K, V> {
318
356
  return null
319
357
  }
320
358
 
359
+ mustGetEntry(key: K): TypedMapEntry<K, V> {
360
+ const entry = this.getEntry(key)
361
+ assert(entry != null, `Entry for key ${key} does not exist in TypedMap`)
362
+ return entry!
363
+ }
364
+
321
365
  get(key: K): V | null {
322
366
  for (let i: i32 = 0; i < this.entries.length; i++) {
323
367
  if (this.entries[i].key == key) {
@@ -327,6 +371,12 @@ export class TypedMap<K, V> {
327
371
  return null
328
372
  }
329
373
 
374
+ mustGet(key: K): V {
375
+ const value = this.get(key)
376
+ assert(value != null, `Value for key ${key} does not exist in TypedMap`)
377
+ return value!
378
+ }
379
+
330
380
  isSet(key: K): bool {
331
381
  for (let i: i32 = 0; i < this.entries.length; i++) {
332
382
  if (this.entries[i].key == key) {
@@ -35,6 +35,17 @@ export class Address extends Bytes {
35
35
  return changetype<Address>(typeConversion.stringToH160(s))
36
36
  }
37
37
 
38
+ /** Convert `Bytes` that must be exactly 20 bytes long to an address.
39
+ * Passing in a value with fewer or more bytes will result in an error */
40
+ static fromBytes(b: Bytes): Address {
41
+ if (b.length != 20) {
42
+ throw new Error(
43
+ `Bytes of length ${b.length} can not be converted to 20 byte addresses`,
44
+ )
45
+ }
46
+ return changetype<Address>(b)
47
+ }
48
+
38
49
  static zero(): Address {
39
50
  let self = new ByteArray(20)
40
51