@witnet/sdk 1.2.7 → 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.
- package/.env_witnet +18 -18
- package/LICENSE +21 -21
- package/README.md +116 -116
- package/dist/package.json +14 -3
- package/dist/src/bin/helpers.d.ts.map +1 -1
- package/dist/src/bin/helpers.js +22 -54
- package/dist/src/lib/crypto/account.d.ts.map +1 -1
- package/dist/src/lib/crypto/account.js +3 -9
- package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
- package/dist/src/lib/crypto/coinbase.js +2 -2
- package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
- package/dist/src/lib/crypto/interfaces.js +1 -1
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +4 -6
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/DataRequestPayload.js +20 -71
- package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/StakePayload.js +4 -9
- package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/UnstakePayload.js +4 -7
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +4 -9
- package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads.js +6 -13
- package/dist/src/lib/crypto/signer.d.ts.map +1 -1
- package/dist/src/lib/crypto/signer.js +2 -2
- package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/DataRequests.js +2 -2
- package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/StakeDeposits.js +2 -2
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +2 -2
- package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/ValueTransfers.js +2 -2
- package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters.js +22 -31
- package/dist/src/lib/crypto/types.d.ts.map +1 -1
- package/dist/src/lib/crypto/types.js +6 -13
- package/dist/src/lib/crypto/utils.d.ts.map +1 -1
- package/dist/src/lib/crypto/utils.js +5 -9
- package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
- package/dist/src/lib/crypto/wallet.js +9 -23
- package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
- package/dist/src/lib/radon/ccdr/eth.js +12 -32
- package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
- package/dist/src/lib/radon/ccdr/wit.js +3 -6
- package/dist/src/lib/radon/index.d.ts.map +1 -1
- package/dist/src/lib/radon/index.js +18 -41
- package/dist/src/lib/radon/reducers.js +2 -2
- package/dist/src/lib/radon/types.d.ts.map +1 -1
- package/dist/src/lib/radon/types.js +6 -32
- package/dist/src/lib/radon/utils.d.ts +1 -1
- package/dist/src/lib/radon/utils.d.ts.map +1 -1
- package/dist/src/lib/radon/utils.js +3 -6
- package/dist/src/lib/rest/kermit.d.ts.map +1 -1
- package/dist/src/lib/rest/kermit.js +1 -1
- package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
- package/dist/src/lib/rpc/nodes.js +8 -28
- package/dist/src/lib/rpc/provider.d.ts.map +1 -1
- package/dist/src/lib/rpc/provider.js +16 -38
- package/dist/src/lib/rpc/types.d.ts.map +1 -1
- package/dist/src/lib/rpc/types.js +1 -1
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +2 -5
- package/dist/witnet/assets/index.cjs +1 -1
- package/dist/witnet/assets/modals/index.cjs +1 -1
- package/dist/witnet/assets/modals/web3/eth.cjs +2 -2
- package/dist/witnet/assets/modals/web3/ipfs.cjs +2 -2
- package/dist/witnet/assets/modals/web3/wit.cjs +4 -11
- package/dist/witnet/assets/requests.cjs +3 -11
- package/package.json +7 -3
- package/src/bin/bots/watcher.cjs +27 -93
- package/src/bin/cli/inspect.js +30 -119
- package/src/bin/cli/network.js +46 -202
- package/src/bin/cli/nodes.js +12 -58
- package/src/bin/cli/radon.js +80 -265
- package/src/bin/cli/wallet.js +69 -241
- package/src/bin/helpers.js +56 -162
- package/src/bin/index.js +21 -51
- package/witnet/assets/_index.cjs +5 -5
- package/witnet/assets/_requests.cjs +25 -25
- package/witnet/assets/_sources.cjs +36 -36
- package/witnet/assets/_templates.cjs +36 -36
- package/witnet/assets/index.cjs +4 -4
- package/witnet/assets/modals/index.cjs +7 -7
- package/witnet/assets/modals/web3/eth.cjs +22 -27
- package/witnet/assets/modals/web3/ipfs.cjs +17 -22
- package/witnet/assets/modals/web3/wit.cjs +16 -28
- package/witnet/assets/requests.cjs +41 -49
package/src/bin/cli/inspect.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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])}.`);
|