@witnet/sdk 1.2.6 → 3.0.0

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 (88) hide show
  1. package/.env_witnet +18 -18
  2. package/LICENSE +21 -21
  3. package/README.md +116 -114
  4. package/dist/package.json +14 -3
  5. package/dist/src/bin/helpers.d.ts.map +1 -1
  6. package/dist/src/bin/helpers.js +22 -54
  7. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  8. package/dist/src/lib/crypto/account.js +3 -9
  9. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
  10. package/dist/src/lib/crypto/coinbase.js +2 -2
  11. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  12. package/dist/src/lib/crypto/interfaces.js +1 -1
  13. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +4 -6
  14. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  15. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +20 -71
  16. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
  17. package/dist/src/lib/crypto/payloads/StakePayload.js +4 -9
  18. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
  19. package/dist/src/lib/crypto/payloads/UnstakePayload.js +4 -7
  20. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
  21. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +4 -9
  22. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/payloads.js +6 -13
  24. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  25. package/dist/src/lib/crypto/signer.js +2 -2
  26. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  27. package/dist/src/lib/crypto/transmitters/DataRequests.js +2 -2
  28. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
  29. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +2 -2
  30. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
  31. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +2 -2
  32. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
  33. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +2 -2
  34. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
  35. package/dist/src/lib/crypto/transmitters.js +22 -31
  36. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  37. package/dist/src/lib/crypto/types.js +6 -13
  38. package/dist/src/lib/crypto/utils.d.ts.map +1 -1
  39. package/dist/src/lib/crypto/utils.js +5 -9
  40. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  41. package/dist/src/lib/crypto/wallet.js +9 -23
  42. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
  43. package/dist/src/lib/radon/ccdr/eth.js +12 -32
  44. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  45. package/dist/src/lib/radon/ccdr/wit.js +3 -6
  46. package/dist/src/lib/radon/index.d.ts.map +1 -1
  47. package/dist/src/lib/radon/index.js +18 -41
  48. package/dist/src/lib/radon/reducers.js +2 -2
  49. package/dist/src/lib/radon/types.d.ts.map +1 -1
  50. package/dist/src/lib/radon/types.js +6 -32
  51. package/dist/src/lib/radon/utils.d.ts +1 -1
  52. package/dist/src/lib/radon/utils.d.ts.map +1 -1
  53. package/dist/src/lib/radon/utils.js +3 -6
  54. package/dist/src/lib/rest/kermit.d.ts.map +1 -1
  55. package/dist/src/lib/rest/kermit.js +1 -1
  56. package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
  57. package/dist/src/lib/rpc/nodes.js +8 -28
  58. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  59. package/dist/src/lib/rpc/provider.js +16 -38
  60. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  61. package/dist/src/lib/rpc/types.js +1 -1
  62. package/dist/src/lib/utils.d.ts.map +1 -1
  63. package/dist/src/lib/utils.js +2 -5
  64. package/dist/witnet/assets/index.cjs +1 -1
  65. package/dist/witnet/assets/modals/index.cjs +1 -1
  66. package/dist/witnet/assets/modals/web3/eth.cjs +2 -2
  67. package/dist/witnet/assets/modals/web3/ipfs.cjs +2 -2
  68. package/dist/witnet/assets/modals/web3/wit.cjs +4 -11
  69. package/dist/witnet/assets/requests.cjs +3 -11
  70. package/package.json +7 -3
  71. package/src/bin/bots/watcher.cjs +27 -93
  72. package/src/bin/cli/inspect.js +30 -119
  73. package/src/bin/cli/network.js +46 -202
  74. package/src/bin/cli/nodes.js +12 -58
  75. package/src/bin/cli/radon.js +80 -265
  76. package/src/bin/cli/wallet.js +69 -241
  77. package/src/bin/helpers.js +56 -162
  78. package/src/bin/index.js +21 -51
  79. package/witnet/assets/_index.cjs +5 -5
  80. package/witnet/assets/_requests.cjs +25 -25
  81. package/witnet/assets/_sources.cjs +36 -36
  82. package/witnet/assets/_templates.cjs +36 -36
  83. package/witnet/assets/index.cjs +4 -4
  84. package/witnet/assets/modals/index.cjs +7 -7
  85. package/witnet/assets/modals/web3/eth.cjs +22 -27
  86. package/witnet/assets/modals/web3/ipfs.cjs +17 -22
  87. package/witnet/assets/modals/web3/wit.cjs +16 -28
  88. package/witnet/assets/requests.cjs +41 -49
@@ -2,17 +2,7 @@ import moment from "moment";
2
2
  import { utils, Witnet } from "../../../dist/src/index.js";
3
3
  import * as helpers from "../helpers.js";
4
4
 
5
- const {
6
- cyan,
7
- gray,
8
- green,
9
- lyellow,
10
- magenta,
11
- mgreen,
12
- mmagenta,
13
- myellow,
14
- yellow,
15
- } = helpers.colors;
5
+ const { cyan, gray, green, lyellow, magenta, mgreen, mmagenta, myellow, yellow } = helpers.colors;
16
6
 
17
7
  const _DEFAULT_LIMIT = 100;
18
8
 
@@ -20,8 +10,7 @@ const _DEFAULT_LIMIT = 100;
20
10
  /// CLI SUBMODULE CONSTANTS ===========================================================================================
21
11
 
22
12
  export const envars = {
23
- WITNET_SDK_PROVIDER_URL:
24
- "=> Wit/Oracle RPC provider(s) to connect to, if no otherwise specified.",
13
+ WITNET_SDK_PROVIDER_URL: "=> Wit/Oracle RPC provider(s) to connect to, if no otherwise specified.",
25
14
  };
26
15
 
27
16
  export const flags = {
@@ -155,23 +144,11 @@ async function balance(options = {}, args = []) {
155
144
  Witnet.Coins.fromNanowits(balance.locked).wits,
156
145
  Witnet.Coins.fromNanowits(balance.staked).wits,
157
146
  Witnet.Coins.fromNanowits(balance.unlocked).wits,
158
- Witnet.Coins.fromNanowits(
159
- balance.locked + balance.staked + balance.unlocked,
160
- ).wits,
147
+ Witnet.Coins.fromNanowits(balance.locked + balance.staked + balance.unlocked).wits,
161
148
  ]);
162
149
  helpers.traceTable(records, {
163
- headlines: [
164
- "Locked ($WIT)",
165
- "Staked ($WIT)",
166
- "Available ($WIT)",
167
- "BALANCE ($WIT)",
168
- ],
169
- humanizers: [
170
- helpers.commas,
171
- helpers.commas,
172
- helpers.commas,
173
- helpers.commas,
174
- ],
150
+ headlines: ["Locked ($WIT)", "Staked ($WIT)", "Available ($WIT)", "BALANCE ($WIT)"],
151
+ humanizers: [helpers.commas, helpers.commas, helpers.commas, helpers.commas],
175
152
  colors: [gray, yellow, myellow, lyellow],
176
153
  });
177
154
  }
@@ -195,17 +172,13 @@ async function block(options = {}, args = []) {
195
172
  case "bytes":
196
173
  case "der":
197
174
  case "proof":
198
- return Array.isArray(value)
199
- ? helpers.toHexString(value, true)
200
- : value;
175
+ return Array.isArray(value) ? helpers.toHexString(value, true) : value;
201
176
 
202
177
  case "public_key":
203
178
  return Array.isArray(value)
204
179
  ? helpers.toHexString(value, true)
205
180
  : typeof value === "object"
206
- ? Witnet.PublicKey.fromProtobuf(value)
207
- .hash()
208
- .toBech32(provider.network)
181
+ ? Witnet.PublicKey.fromProtobuf(value).hash().toBech32(provider.network)
209
182
  : value;
210
183
 
211
184
  default:
@@ -261,28 +234,18 @@ async function dataRequests(options = {}, [arg]) {
261
234
  );
262
235
  helpers.traceTable(
263
236
  results.map((record) => {
264
- let result = record?.result.cbor_bytes
265
- ? utils.cbor.decode(record?.result.cbor_bytes, { encoding: "hex" })
266
- : "";
267
- const request = Witnet.Radon.RadonRequest.fromBytecode(
268
- record.query.rad_bytecode,
269
- );
270
- const dataType =
271
- result.constructor.name === "Tagged" ? "RadonError" : request.dataType;
237
+ let result = record?.result.cbor_bytes ? utils.cbor.decode(record?.result.cbor_bytes, { encoding: "hex" }) : "";
238
+ const request = Witnet.Radon.RadonRequest.fromBytecode(record.query.rad_bytecode);
239
+ const dataType = result.constructor.name === "Tagged" ? "RadonError" : request.dataType;
272
240
  if (dataType !== "RadonError")
273
- result = Buffer.from(
274
- utils.fromHexString(record?.result.cbor_bytes),
275
- ).toString("base64");
276
- else if (result.constructor.name === "Buffer")
277
- result = result.toString("base64");
241
+ result = Buffer.from(utils.fromHexString(record?.result.cbor_bytes)).toString("base64");
242
+ else if (result.constructor.name === "Buffer") result = result.toString("base64");
278
243
  return [
279
244
  record.block_epoch,
280
245
  record.hash,
281
246
  record.query.witnesses,
282
247
  Witnet.Coins.fromPedros(record.query.unitary_reward).toString(2),
283
- dataType === "RadonError"
284
- ? helpers.colors.mred("RadonError")
285
- : helpers.colors.mgreen(dataType),
248
+ dataType === "RadonError" ? helpers.colors.mred("RadonError") : helpers.colors.mgreen(dataType),
286
249
  ...(options?.verbose
287
250
  ? [
288
251
  dataType === "RadonError"
@@ -292,12 +255,8 @@ async function dataRequests(options = {}, [arg]) {
292
255
  : helpers.colors.cyan(result),
293
256
  ]
294
257
  : [
295
- record?.result
296
- ? `${record.result.cbor_bytes.length / 2} bytes`
297
- : "",
298
- record?.result.timestamp
299
- ? moment.unix(record.result.timestamp).fromNow()
300
- : "",
258
+ record?.result ? `${record.result.cbor_bytes.length / 2} bytes` : "",
259
+ record?.result.timestamp ? moment.unix(record.result.timestamp).fromNow() : "",
301
260
  ]),
302
261
  ];
303
262
  }),
@@ -308,9 +267,7 @@ async function dataRequests(options = {}, [arg]) {
308
267
  "witnesses",
309
268
  "total fees",
310
269
  ":data type",
311
- ...(options?.verbose
312
- ? [":DATA REQUEST RESULT"]
313
- : ["CBOR SIZE:", "DATA FRESHNESS:"]),
270
+ ...(options?.verbose ? [":DATA REQUEST RESULT"] : ["CBOR SIZE:", "DATA FRESHNESS:"]),
314
271
  ],
315
272
  humanizers: [helpers.commas],
316
273
  colors: [
@@ -384,9 +341,7 @@ async function transaction(options = {}, args = []) {
384
341
  }
385
342
  const provider = new Witnet.JsonRpcProvider(options?.provider);
386
343
  const transaction = await provider.getTransaction(txHash);
387
- console.info(
388
- `${yellow(JSON.stringify(transaction, utils.txJsonReplacer, 2))}`,
389
- );
344
+ console.info(`${yellow(JSON.stringify(transaction, utils.txJsonReplacer, 2))}`);
390
345
  }
391
346
 
392
347
  async function utxos(options = {}, args = []) {
@@ -396,9 +351,7 @@ async function utxos(options = {}, args = []) {
396
351
  const now = Math.floor(Date.now() / 1000);
397
352
  const provider = new Witnet.JsonRpcProvider(options?.provider);
398
353
  let utxos = await provider.getUtxos(args[0], {
399
- minValue: options["min-value"]
400
- ? Witnet.Coins.fromWits(Number(options["min-value"])).pedros
401
- : undefined,
354
+ minValue: options["min-value"] ? Witnet.Coins.fromWits(Number(options["min-value"])).pedros : undefined,
402
355
  fromSigner: options.from,
403
356
  });
404
357
  let totalBalance = 0n;
@@ -421,18 +374,14 @@ async function utxos(options = {}, args = []) {
421
374
  return [
422
375
  utxo.output_pointer,
423
376
  utxo.timelock > now ? gray(moment.unix(utxo.timelock).fromNow()) : "",
424
- utxo.timelock > now
425
- ? gray(helpers.commas(utxo.value))
426
- : myellow(helpers.commas(utxo.value)),
377
+ utxo.timelock > now ? gray(helpers.commas(utxo.value)) : myellow(helpers.commas(utxo.value)),
427
378
  ];
428
379
  });
429
380
  helpers.traceTable(utxos, {
430
381
  headlines: [":UTXOs", "Timelock", "Value ($pedros)"],
431
382
  });
432
383
  }
433
- console.info(
434
- `^ Showing ${utxos.length} UTXOs: ${lyellow(helpers.whole_wits(totalBalance, 2))}.`,
435
- );
384
+ console.info(`^ Showing ${utxos.length} UTXOs: ${lyellow(helpers.whole_wits(totalBalance, 2))}.`);
436
385
  }
437
386
 
438
387
  async function validators(options = {}, args = []) {
@@ -452,13 +401,7 @@ async function validators(options = {}, args = []) {
452
401
  return [
453
402
  1 + index,
454
403
  record.key.validator,
455
- ...(options?.verbose
456
- ? [
457
- record.value.nonce,
458
- record.value.epochs.witnessing,
459
- record.value.epochs.mining,
460
- ]
461
- : []),
404
+ ...(options?.verbose ? [record.value.nonce, record.value.epochs.witnessing, record.value.epochs.mining] : []),
462
405
  Witnet.Coins.fromNanowits(record.value.coins).wits,
463
406
  ];
464
407
  }),
@@ -472,24 +415,14 @@ async function validators(options = {}, args = []) {
472
415
  humanizers: [
473
416
  undefined,
474
417
  undefined,
475
- ...(options?.verbose
476
- ? [helpers.commas, helpers.commas, helpers.commas]
477
- : []),
418
+ ...(options?.verbose ? [helpers.commas, helpers.commas, helpers.commas] : []),
478
419
  helpers.commas,
479
420
  ],
480
- colors: [
481
- undefined,
482
- green,
483
- ...(options?.verbose
484
- ? [undefined, magenta, cyan, myellow]
485
- : [myellow]),
486
- ],
421
+ colors: [undefined, green, ...(options?.verbose ? [undefined, magenta, cyan, myellow] : [myellow])],
487
422
  },
488
423
  );
489
424
  console.info(
490
- `^ ${records.length} validators for withdrawer ${mgreen(
491
- args[0],
492
- )}: ${lyellow(helpers.whole_wits(nanowits, 2))}`,
425
+ `^ ${records.length} validators for withdrawer ${mgreen(args[0])}: ${lyellow(helpers.whole_wits(nanowits, 2))}`,
493
426
  );
494
427
  } else {
495
428
  console.info(`> No validators found for withdrawer ${mmagenta(args[0])}.`);
@@ -509,14 +442,8 @@ async function valueTransfer(options = {}, args = []) {
509
442
  throw Error(`Invalid mode value: "${options.mode}"`);
510
443
  }
511
444
  const provider = new Witnet.JsonRpcProvider(options?.provider);
512
- const transaction = await provider.getValueTransfer(
513
- txHash,
514
- mode,
515
- options?.force,
516
- );
517
- console.info(
518
- `${yellow(JSON.stringify(transaction, utils.txJsonReplacer, 2))}`,
519
- );
445
+ const transaction = await provider.getValueTransfer(txHash, mode, options?.force);
446
+ console.info(`${yellow(JSON.stringify(transaction, utils.txJsonReplacer, 2))}`);
520
447
  }
521
448
 
522
449
  async function withdrawers(options = {}, args = []) {
@@ -536,13 +463,7 @@ async function withdrawers(options = {}, args = []) {
536
463
  return [
537
464
  1 + index,
538
465
  record.key.withdrawer,
539
- ...(options?.verbose
540
- ? [
541
- record.value.nonce,
542
- record.value.epochs.witnessing,
543
- record.value.epochs.mining,
544
- ]
545
- : []),
466
+ ...(options?.verbose ? [record.value.nonce, record.value.epochs.witnessing, record.value.epochs.mining] : []),
546
467
  Witnet.Coins.fromNanowits(record.value.coins).wits,
547
468
  ];
548
469
  }),
@@ -556,24 +477,14 @@ async function withdrawers(options = {}, args = []) {
556
477
  humanizers: [
557
478
  undefined,
558
479
  undefined,
559
- ...(options?.verbose
560
- ? [helpers.commas, helpers.commas, helpers.commas]
561
- : []),
480
+ ...(options?.verbose ? [helpers.commas, helpers.commas, helpers.commas] : []),
562
481
  helpers.commas,
563
482
  ],
564
- colors: [
565
- undefined,
566
- green,
567
- ...(options?.verbose
568
- ? [undefined, magenta, cyan, myellow]
569
- : [myellow]),
570
- ],
483
+ colors: [undefined, green, ...(options?.verbose ? [undefined, magenta, cyan, myellow] : [myellow])],
571
484
  },
572
485
  );
573
486
  console.info(
574
- `^ ${records.length} withdrawers for validator ${mgreen(
575
- args[0],
576
- )}: ${lyellow(helpers.whole_wits(nanowits, 2))}`,
487
+ `^ ${records.length} withdrawers for validator ${mgreen(args[0])}: ${lyellow(helpers.whole_wits(nanowits, 2))}`,
577
488
  );
578
489
  } else {
579
490
  console.info(`> No withdrawers found for validator ${mmagenta(args[0])}.`);