@streamr/cli-tools 0.0.1-tatum.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 (142) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +6 -0
  3. package/LICENSE +661 -0
  4. package/OLD_CHANGELOG.md +141 -0
  5. package/README.md +225 -0
  6. package/bin/streamr-governance-vote.ts +51 -0
  7. package/bin/streamr-governance.ts +10 -0
  8. package/bin/streamr-mock-data-generate.ts +40 -0
  9. package/bin/streamr-mock-data.ts +10 -0
  10. package/bin/streamr-storage-node-add-stream.ts +12 -0
  11. package/bin/streamr-storage-node-list-streams.ts +20 -0
  12. package/bin/streamr-storage-node-list.ts +22 -0
  13. package/bin/streamr-storage-node-remove-stream.ts +12 -0
  14. package/bin/streamr-storage-node.ts +13 -0
  15. package/bin/streamr-stream-create.ts +29 -0
  16. package/bin/streamr-stream-grant-permission.ts +9 -0
  17. package/bin/streamr-stream-publish.ts +66 -0
  18. package/bin/streamr-stream-resend-from.ts +32 -0
  19. package/bin/streamr-stream-resend-last.ts +30 -0
  20. package/bin/streamr-stream-resend-range.ts +38 -0
  21. package/bin/streamr-stream-resend.ts +11 -0
  22. package/bin/streamr-stream-revoke-permission.ts +9 -0
  23. package/bin/streamr-stream-search.ts +61 -0
  24. package/bin/streamr-stream-show.ts +28 -0
  25. package/bin/streamr-stream-subscribe.ts +40 -0
  26. package/bin/streamr-stream.ts +17 -0
  27. package/bin/streamr-wallet-whoami.ts +10 -0
  28. package/bin/streamr-wallet.ts +10 -0
  29. package/bin/streamr.ts +14 -0
  30. package/dist/bin/streamr-governance-vote.d.ts +2 -0
  31. package/dist/bin/streamr-governance-vote.js +52 -0
  32. package/dist/bin/streamr-governance-vote.js.map +1 -0
  33. package/dist/bin/streamr-governance.d.ts +2 -0
  34. package/dist/bin/streamr-governance.js +15 -0
  35. package/dist/bin/streamr-governance.js.map +1 -0
  36. package/dist/bin/streamr-mock-data-generate.d.ts +2 -0
  37. package/dist/bin/streamr-mock-data-generate.js +40 -0
  38. package/dist/bin/streamr-mock-data-generate.js.map +1 -0
  39. package/dist/bin/streamr-mock-data.d.ts +2 -0
  40. package/dist/bin/streamr-mock-data.js +15 -0
  41. package/dist/bin/streamr-mock-data.js.map +1 -0
  42. package/dist/bin/streamr-storage-node-add-stream.d.ts +2 -0
  43. package/dist/bin/streamr-storage-node-add-stream.js +13 -0
  44. package/dist/bin/streamr-storage-node-add-stream.js.map +1 -0
  45. package/dist/bin/streamr-storage-node-list-streams.d.ts +2 -0
  46. package/dist/bin/streamr-storage-node-list-streams.js +24 -0
  47. package/dist/bin/streamr-storage-node-list-streams.js.map +1 -0
  48. package/dist/bin/streamr-storage-node-list.d.ts +2 -0
  49. package/dist/bin/streamr-storage-node-list.js +22 -0
  50. package/dist/bin/streamr-storage-node-list.js.map +1 -0
  51. package/dist/bin/streamr-storage-node-remove-stream.d.ts +2 -0
  52. package/dist/bin/streamr-storage-node-remove-stream.js +13 -0
  53. package/dist/bin/streamr-storage-node-remove-stream.js.map +1 -0
  54. package/dist/bin/streamr-storage-node.d.ts +2 -0
  55. package/dist/bin/streamr-storage-node.js +18 -0
  56. package/dist/bin/streamr-storage-node.js.map +1 -0
  57. package/dist/bin/streamr-stream-create.d.ts +2 -0
  58. package/dist/bin/streamr-stream-create.js +23 -0
  59. package/dist/bin/streamr-stream-create.js.map +1 -0
  60. package/dist/bin/streamr-stream-grant-permission.d.ts +2 -0
  61. package/dist/bin/streamr-stream-grant-permission.js +7 -0
  62. package/dist/bin/streamr-stream-grant-permission.js.map +1 -0
  63. package/dist/bin/streamr-stream-publish.d.ts +2 -0
  64. package/dist/bin/streamr-stream-publish.js +59 -0
  65. package/dist/bin/streamr-stream-publish.js.map +1 -0
  66. package/dist/bin/streamr-stream-resend-from.d.ts +2 -0
  67. package/dist/bin/streamr-stream-resend-from.js +27 -0
  68. package/dist/bin/streamr-stream-resend-from.js.map +1 -0
  69. package/dist/bin/streamr-stream-resend-last.d.ts +2 -0
  70. package/dist/bin/streamr-stream-resend-last.js +26 -0
  71. package/dist/bin/streamr-stream-resend-last.js.map +1 -0
  72. package/dist/bin/streamr-stream-resend-range.d.ts +2 -0
  73. package/dist/bin/streamr-stream-resend-range.js +33 -0
  74. package/dist/bin/streamr-stream-resend-range.js.map +1 -0
  75. package/dist/bin/streamr-stream-resend.d.ts +2 -0
  76. package/dist/bin/streamr-stream-resend.js +13 -0
  77. package/dist/bin/streamr-stream-resend.js.map +1 -0
  78. package/dist/bin/streamr-stream-revoke-permission.d.ts +2 -0
  79. package/dist/bin/streamr-stream-revoke-permission.js +7 -0
  80. package/dist/bin/streamr-stream-revoke-permission.js.map +1 -0
  81. package/dist/bin/streamr-stream-search.d.ts +2 -0
  82. package/dist/bin/streamr-stream-search.js +42 -0
  83. package/dist/bin/streamr-stream-search.js.map +1 -0
  84. package/dist/bin/streamr-stream-show.d.ts +2 -0
  85. package/dist/bin/streamr-stream-show.js +25 -0
  86. package/dist/bin/streamr-stream-show.js.map +1 -0
  87. package/dist/bin/streamr-stream-subscribe.d.ts +2 -0
  88. package/dist/bin/streamr-stream-subscribe.js +37 -0
  89. package/dist/bin/streamr-stream-subscribe.js.map +1 -0
  90. package/dist/bin/streamr-stream.d.ts +2 -0
  91. package/dist/bin/streamr-stream.js +22 -0
  92. package/dist/bin/streamr-stream.js.map +1 -0
  93. package/dist/bin/streamr-wallet-whoami.d.ts +2 -0
  94. package/dist/bin/streamr-wallet-whoami.js +11 -0
  95. package/dist/bin/streamr-wallet-whoami.js.map +1 -0
  96. package/dist/bin/streamr-wallet.d.ts +2 -0
  97. package/dist/bin/streamr-wallet.js +15 -0
  98. package/dist/bin/streamr-wallet.js.map +1 -0
  99. package/dist/bin/streamr.d.ts +2 -0
  100. package/dist/bin/streamr.js +19 -0
  101. package/dist/bin/streamr.js.map +1 -0
  102. package/dist/package.json +45 -0
  103. package/dist/src/client.d.ts +4 -0
  104. package/dist/src/client.js +36 -0
  105. package/dist/src/client.js.map +1 -0
  106. package/dist/src/command.d.ts +13 -0
  107. package/dist/src/command.js +45 -0
  108. package/dist/src/command.js.map +1 -0
  109. package/dist/src/common.d.ts +6 -0
  110. package/dist/src/common.js +32 -0
  111. package/dist/src/common.js.map +1 -0
  112. package/dist/src/config.d.ts +6 -0
  113. package/dist/src/config.js +58 -0
  114. package/dist/src/config.js.map +1 -0
  115. package/dist/src/logLevel.d.ts +1 -0
  116. package/dist/src/logLevel.js +11 -0
  117. package/dist/src/logLevel.js.map +1 -0
  118. package/dist/src/permission.d.ts +5 -0
  119. package/dist/src/permission.js +53 -0
  120. package/dist/src/permission.js.map +1 -0
  121. package/dist/src/resend.d.ts +3 -0
  122. package/dist/src/resend.js +32 -0
  123. package/dist/src/resend.js.map +1 -0
  124. package/package.json +45 -0
  125. package/src/client.ts +35 -0
  126. package/src/command.ts +51 -0
  127. package/src/common.ts +25 -0
  128. package/src/config.ts +56 -0
  129. package/src/logLevel.ts +9 -0
  130. package/src/permission.ts +53 -0
  131. package/src/resend.ts +37 -0
  132. package/test/mock-data.test.ts +19 -0
  133. package/test/storage-node.test.ts +32 -0
  134. package/test/stream-create.test.ts +26 -0
  135. package/test/stream-permission.test.ts +29 -0
  136. package/test/stream-publish-subscribe.test.ts +86 -0
  137. package/test/stream-resend.test.ts +66 -0
  138. package/test/stream-search.test.ts +24 -0
  139. package/test/stream-show.test.ts +31 -0
  140. package/test/utils.ts +85 -0
  141. package/test/wallet.test.ts +11 -0
  142. package/tsconfig.json +16 -0
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import StreamrClient from 'streamr-client'
4
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
5
+ import { resend } from '../src/resend'
6
+
7
+ interface Options extends BaseOptions {
8
+ publisherId?: string
9
+ disableOrdering: boolean
10
+ subscribe: boolean
11
+ }
12
+
13
+ createClientCommand(async (client: StreamrClient, from: string, streamId: string, options: Options) => {
14
+ const resendOptions = {
15
+ from: {
16
+ timestamp: Date.parse(from),
17
+ sequenceNumber: 0
18
+ },
19
+ publisherId: options.publisherId
20
+ }
21
+ await resend(streamId, resendOptions, client, options.subscribe)
22
+ }, {
23
+ clientOptionsFactory: (options) => ({
24
+ orderMessages: !options.disableOrdering
25
+ })
26
+ })
27
+ .arguments('<from> <streamId>')
28
+ .description('request messages starting from given date-time (format: "YYYY-MM-DDTHH:mm:ss.sssZ")')
29
+ .option('--publisher-id <string>', 'filter results by publisher')
30
+ .option('-d, --disable-ordering', 'disable ordering of messages by OrderingUtil', false)
31
+ .option('-s, --subscribe', 'subscribe in addition to resend', false)
32
+ .parseAsync()
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import StreamrClient from 'streamr-client'
4
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
5
+ import { resend } from '../src/resend'
6
+
7
+ interface Options extends BaseOptions {
8
+ disableOrdering: boolean
9
+ subscribe: boolean
10
+ }
11
+
12
+ createClientCommand(async (client: StreamrClient, n: string, streamId: string, options: Options) => {
13
+ if (isNaN(n as any)) {
14
+ console.error('argument n is not a number')
15
+ process.exit(1)
16
+ }
17
+ const resendOptions = {
18
+ last: parseInt(n)
19
+ }
20
+ await resend(streamId, resendOptions, client, options.subscribe)
21
+ }, {
22
+ clientOptionsFactory: (options) => ({
23
+ orderMessages: !options.disableOrdering
24
+ })
25
+ })
26
+ .arguments('<n> <streamId>')
27
+ .description('request last N messages')
28
+ .option('-d, --disable-ordering', 'disable ordering of messages by OrderingUtil', false)
29
+ .option('-s, --subscribe', 'subscribe in addition to resend', false)
30
+ .parseAsync()
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import { StreamrClient } from 'streamr-client'
4
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
5
+ import { assertBothOrNoneDefined, resend } from '../src/resend'
6
+
7
+ interface Options extends BaseOptions {
8
+ publisherId?: string
9
+ msgChainId?: string
10
+ subscribe: boolean
11
+ }
12
+
13
+ createClientCommand(async (client: StreamrClient, from: string, to: string, streamId: string, options: Options) => {
14
+ const resendOptions = {
15
+ from: {
16
+ timestamp: Date.parse(from),
17
+ sequenceNumber: 0
18
+ },
19
+ to: {
20
+ timestamp: Date.parse(to),
21
+ sequenceNumber: 0
22
+ },
23
+ publisherId: options.publisherId,
24
+ msgChainId: options.msgChainId
25
+ }
26
+ assertBothOrNoneDefined('publisherId', 'msgChainId', '--publisher-id must be accompanied by option --msg-chain-id', options)
27
+ await resend(streamId, resendOptions, client, false)
28
+ }, {
29
+ clientOptionsFactory: (options) => ({
30
+ orderMessages: !options.disableOrdering
31
+ })
32
+ })
33
+ .arguments('<from> <to> <streamId>')
34
+ .description('request messages between two given date-times (format: "YYYY-MM-DDTHH:mm:ss.sssZ")')
35
+ .option('--publisher-id <string>', 'filter results by publisher')
36
+ .option('--msg-chain-id <string>', 'filter results by message chain')
37
+ .option('-d, --disable-ordering', 'disable ordering of messages by OrderingUtil', false)
38
+ .parseAsync()
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import { createCommand } from '../src/command'
4
+
5
+ createCommand()
6
+ .usage('<command> [<args>]')
7
+ .description('request resend of stream and print JSON messages to stdout line-by-line')
8
+ .command('from', 'request messages starting from given date-time')
9
+ .command('last', 'request last N messages')
10
+ .command('range', 'request messages between two given date-times')
11
+ .parse()
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import { PermissionAssignment, Stream } from 'streamr-client'
4
+ import { runModifyPermissionsCommand } from '../src/permission'
5
+
6
+ runModifyPermissionsCommand(
7
+ (stream: Stream, assigment: PermissionAssignment) => stream.revokePermissions(assigment),
8
+ 'revoke'
9
+ )
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import StreamrClient, { SearchStreamsPermissionFilter, StreamPermission } from 'streamr-client'
4
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
5
+ import { Option } from 'commander'
6
+ import { getPermission, PERMISSIONS } from '../src/permission'
7
+ import { getOptionType, OptionType } from '../src/common'
8
+
9
+ interface Options extends BaseOptions {
10
+ user?: string | true
11
+ public: boolean
12
+ all?: StreamPermission[]
13
+ any?: StreamPermission[]
14
+ }
15
+
16
+ const createPermissionFilter = async (
17
+ user: string | true | undefined,
18
+ allowPublic: boolean | undefined,
19
+ allOf: StreamPermission[] | undefined,
20
+ anyOf: StreamPermission[] | undefined,
21
+ client: StreamrClient
22
+ ): Promise<SearchStreamsPermissionFilter | undefined> => {
23
+ if (user !== undefined) {
24
+ return {
25
+ user: (getOptionType(user) === OptionType.ARGUMENT) ? user as string : await client.getAddress(),
26
+ allowPublic: allowPublic ?? false,
27
+ allOf,
28
+ anyOf
29
+ }
30
+ } else if ((allowPublic !== undefined) || (allOf !== undefined) || (anyOf !== undefined)) {
31
+ console.error('specify a user with "--user" when using "--public", "--all" or "--any"')
32
+ process.exit(1)
33
+ }
34
+ }
35
+
36
+ const createPermissionListOption = (id: string) => {
37
+ return new Option(`--${id} <permissions>`, 'comma-separated list of permissions')
38
+ .choices(Array.from(PERMISSIONS.keys()))
39
+ .argParser((value: string) => value.split(',').map((id) => getPermission(id)))
40
+ }
41
+
42
+ createClientCommand(async (client: StreamrClient, term: string | undefined, options: Options) => {
43
+ const permissionFilter = await createPermissionFilter(
44
+ options.user,
45
+ options.public,
46
+ options.all,
47
+ options.any,
48
+ client
49
+ )
50
+ const streams = client.searchStreams(term, permissionFilter)
51
+ for await (const stream of streams) {
52
+ console.log(stream.id)
53
+ }
54
+ })
55
+ .arguments('[term]')
56
+ .description('search streams')
57
+ .option('--user [user]', 'a stream must have permissions for the given user, defaults to the authenticated user')
58
+ .option('--public', 'the permission can be implicit (a public permission to the stream)')
59
+ .addOption(createPermissionListOption('all'))
60
+ .addOption(createPermissionListOption('any'))
61
+ .parseAsync()
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import StreamrClient from 'streamr-client'
4
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
5
+ import { getPermissionId } from '../src/permission'
6
+
7
+ interface Options extends BaseOptions {
8
+ includePermissions: boolean
9
+ }
10
+
11
+ createClientCommand(async (client: StreamrClient, streamId: string, options: Options) => {
12
+ const stream = await client.getStream(streamId)
13
+ const obj: any = { id: stream.id, ...stream.getMetadata() }
14
+ if (options.includePermissions) {
15
+ const assigments = await stream.getPermissions()
16
+ obj.permissions = assigments.map((assignment) => {
17
+ return {
18
+ ...assignment,
19
+ permissions: assignment.permissions.map(getPermissionId)
20
+ }
21
+ })
22
+ }
23
+ console.info(JSON.stringify(obj, null, 2))
24
+ })
25
+ .arguments('<streamId>')
26
+ .description('show detailed information about a stream')
27
+ .option('--include-permissions', 'include list of permissions', false)
28
+ .parseAsync()
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import omit from 'lodash/omit'
4
+ import isString from 'lodash/isString'
5
+ import StreamrClient, { MessageMetadata } from 'streamr-client'
6
+ import { createClientCommand, Options as BaseOptions } from '../src/command'
7
+ import { createFnParseInt } from '../src/common'
8
+
9
+ interface Options extends BaseOptions {
10
+ partition: number
11
+ disableOrdering: boolean
12
+ raw: boolean
13
+ withMetadata: boolean
14
+ }
15
+
16
+ createClientCommand(async (client: StreamrClient, streamId: string, options: Options) => {
17
+ const formMessage = options.withMetadata
18
+ ? (message: unknown, metadata: MessageMetadata) => ({ message, metadata: omit(metadata, 'streamMessage') })
19
+ : (message: unknown) => message
20
+ await client.subscribe({
21
+ streamId,
22
+ partition: options.partition,
23
+ raw: options.raw
24
+ }, (message, metadata) => {
25
+ const output = formMessage(message, metadata)
26
+ console.info(isString(output) ? output : JSON.stringify(output))
27
+ })
28
+ }, {
29
+ autoDestroyClient: false,
30
+ clientOptionsFactory: (options) => ({
31
+ orderMessages: !options.disableOrdering
32
+ })
33
+ })
34
+ .arguments('<streamId>')
35
+ .description('subscribe to a stream, prints JSON messages to stdout line-by-line')
36
+ .option('-p, --partition [partition]', 'partition', createFnParseInt('--partition'), 0)
37
+ .option('-d, --disable-ordering', 'disable ordering of messages by OrderingUtil', false)
38
+ .option('-r, --raw', 'subscribe raw', false)
39
+ .option('-m, --with-metadata', 'print each message with its metadata included', false)
40
+ .parseAsync()
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import { program } from 'commander'
3
+ import pkg from '../package.json'
4
+
5
+ program
6
+ .version(pkg.version)
7
+ .usage('<command> [<args>]')
8
+ .description('stream subcommands')
9
+ .command('subscribe', 'subscribe to a stream')
10
+ .command('publish', 'publish to a stream')
11
+ .command('search', 'search for streams')
12
+ .command('show', 'info about a stream')
13
+ .command('create', 'create a new stream')
14
+ .command('resend', 'request resend of a stream')
15
+ .command('grant-permission', 'grant permission')
16
+ .command('revoke-permission', 'revoke permission')
17
+ .parse()
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel'
3
+ import StreamrClient from 'streamr-client'
4
+ import { createClientCommand } from '../src/command'
5
+
6
+ createClientCommand(async (client: StreamrClient) => {
7
+ console.info(await client.getAddress())
8
+ })
9
+ .description('displays your public address')
10
+ .parseAsync()
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import { program } from 'commander'
3
+ import pkg from '../package.json'
4
+
5
+ program
6
+ .version(pkg.version)
7
+ .usage('<command> [<args>]')
8
+ .description('wallet subcommands')
9
+ .command('whoami', 'displays your public address')
10
+ .parse()
package/bin/streamr.ts ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { program } from 'commander'
3
+ import pkg from '../package.json'
4
+
5
+ program
6
+ .version(pkg.version)
7
+ .usage('<command> <subcommand> [<args>]')
8
+ .description('command line tools for interacting with Streamr https://streamr.network')
9
+ .command('stream', 'stream subcommands')
10
+ .command('storage-node', 'storage node subcommands')
11
+ .command('mock-data', 'mock data subcommands')
12
+ .command('wallet', 'wallet subcommands')
13
+ .command('governance', 'governance subcommands')
14
+ .parse()
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const command_1 = require("../src/command");
8
+ const client_1 = require("../src/client");
9
+ const snapshot_js_1 = __importDefault(require("@snapshot-labs/snapshot.js"));
10
+ const wallet_1 = require("@ethersproject/wallet");
11
+ const hub = 'https://hub.snapshot.org';
12
+ const snapshotClient = new snapshot_js_1.default.Client712(hub);
13
+ const vote = async (privateKey, proposal, choice) => {
14
+ const wallet = new wallet_1.Wallet(privateKey);
15
+ try {
16
+ console.log(`Wallet ${wallet.address} voting for choice ${choice} on proposal ${proposal}...`);
17
+ await snapshotClient.vote(wallet, wallet.address, {
18
+ space: 'streamr.eth',
19
+ proposal,
20
+ type: 'single-choice',
21
+ choice,
22
+ app: 'cli-tool'
23
+ });
24
+ console.log(`Wallet ${wallet.address} successfully voted for choice ${choice} on proposal ${proposal}`);
25
+ }
26
+ catch (err) {
27
+ console.error(err);
28
+ process.exit(1);
29
+ }
30
+ };
31
+ (0, command_1.createCommand)()
32
+ .description('vote on a Streamr governance proposal')
33
+ .arguments('<proposalId> <choiceId>')
34
+ .option('--private-key <key>', 'use an Ethereum private key to authenticate')
35
+ .option('--config <file>', 'read connection and authentication settings from a config file')
36
+ .action(async (proposalId, choiceId, options, command) => {
37
+ const config = (0, client_1.getClientConfig)(options);
38
+ if (!config.auth || !config.auth.privateKey) {
39
+ console.error('You must pass a private key either via --private-key or via a config file using --config');
40
+ command.help();
41
+ process.exit(1);
42
+ }
43
+ const choiceIdAsNumber = parseInt(choiceId);
44
+ if (Number.isNaN(choiceIdAsNumber) || choiceIdAsNumber <= 0) {
45
+ console.error(`Invalid choice number: ${choiceId}. The first choice is 1, second is 2, and so on.`);
46
+ command.help();
47
+ process.exit(1);
48
+ }
49
+ await vote(config.auth.privateKey, proposalId, choiceIdAsNumber);
50
+ })
51
+ .parseAsync();
52
+ //# sourceMappingURL=streamr-governance-vote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-governance-vote.js","sourceRoot":"","sources":["../../bin/streamr-governance-vote.ts"],"names":[],"mappings":";;;;;;AACA,4CAA8C;AAC9C,0CAA+C;AAC/C,6EAAiD;AACjD,kDAA8C;AAG9C,MAAM,GAAG,GAAG,0BAA0B,CAAA;AACtC,MAAM,cAAc,GAAG,IAAI,qBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAElD,MAAM,IAAI,GAAG,KAAK,EAAE,UAAkB,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI;QACA,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,sBAAsB,MAAM,gBAAgB,QAAQ,KAAK,CAAC,CAAA;QAC9F,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;YAC9C,KAAK,EAAE,aAAa;YACpB,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,MAAM;YACN,GAAG,EAAE,UAAU;SAClB,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,kCAAkC,MAAM,gBAAgB,QAAQ,EAAE,CAAC,CAAA;KAC1G;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC,CAAA;AAED,IAAA,uBAAa,GAAE;KACV,WAAW,CAAC,uCAAuC,CAAC;KACpD,SAAS,CAAC,yBAAyB,CAAC;KACpC,MAAM,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,QAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACrE,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAE,MAAM,CAAC,IAA6B,CAAC,UAAU,EAAE;QACnE,OAAO,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAA;QACzG,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE;QACzD,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,kDAAkD,CAAC,CAAA;QACnG,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;IAED,MAAM,IAAI,CAAE,MAAM,CAAC,IAA6B,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAA;AAC9F,CAAC,CAAC;KACD,UAAU,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ commander_1.program
10
+ .version(package_json_1.default.version)
11
+ .usage('<command> [<args>]')
12
+ .description('governance subcommands')
13
+ .command('vote', 'votes on a governance proposal')
14
+ .parse();
15
+ //# sourceMappingURL=streamr-governance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-governance.js","sourceRoot":"","sources":["../../bin/streamr-governance.ts"],"names":[],"mappings":";;;;;;AACA,yCAAmC;AACnC,mEAAiC;AAEjC,mBAAO;KACF,OAAO,CAAC,sBAAG,CAAC,OAAO,CAAC;KACpB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,WAAW,CAAC,wBAAwB,CAAC;KACrC,OAAO,CAAC,MAAM,EAAE,gCAAgC,CAAC;KACjD,KAAK,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export declare const generate: (rate: number) => void;
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.generate = void 0;
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ const common_1 = require("../src/common");
10
+ const command_1 = require("../src/command");
11
+ const utils_1 = require("@streamr/utils");
12
+ function genArray(size, elementFn) {
13
+ const arr = [];
14
+ for (let i = 0; i < size; ++i) {
15
+ arr.push(elementFn());
16
+ }
17
+ return arr;
18
+ }
19
+ const generate = (rate) => {
20
+ setInterval(() => {
21
+ console.info(JSON.stringify({
22
+ someText: (0, utils_1.randomString)(64),
23
+ aNumber: Math.random() * 10000,
24
+ bNumber: Math.random(),
25
+ yesOrNo: Math.random() > 0.5,
26
+ arrayOfStrings: genArray(Math.floor(Math.random() * 20), () => (0, utils_1.randomString)(8)),
27
+ arrayOfIntegers: genArray(Math.floor(Math.random() * 10), () => Math.floor(Math.random() * 100))
28
+ }));
29
+ }, rate);
30
+ };
31
+ exports.generate = generate;
32
+ (0, command_1.createCommand)()
33
+ .description('generate and print semi-random JSON data to stdout')
34
+ .option('-r, --rate <n>', 'rate in milliseconds', (0, common_1.createFnParseInt)('--rate'), 500)
35
+ .version(package_json_1.default.version)
36
+ .action((options) => {
37
+ (0, exports.generate)(options.rate);
38
+ })
39
+ .parse();
40
+ //# sourceMappingURL=streamr-mock-data-generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-mock-data-generate.js","sourceRoot":"","sources":["../../bin/streamr-mock-data-generate.ts"],"names":[],"mappings":";;;;;;;AACA,mEAAiC;AACjC,0CAAgD;AAChD,4CAAsE;AACtE,0CAA6C;AAM7C,SAAS,QAAQ,CAAI,IAAY,EAAE,SAAkB;IACjD,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;KACxB;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC3C,WAAW,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACxB,QAAQ,EAAE,IAAA,oBAAY,EAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;YAC5B,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAC;YAC/E,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;SAEnG,CAAC,CAAC,CAAA;IACP,CAAC,EAAE,IAAI,CAAC,CAAA;AACZ,CAAC,CAAA;AAZY,QAAA,QAAQ,YAYpB;AAED,IAAA,uBAAa,GAAE;KACV,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,IAAA,yBAAgB,EAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;KACjF,OAAO,CAAC,sBAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,CAAC,OAAgB,EAAE,EAAE;IACzB,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAC;KACD,KAAK,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ commander_1.program
10
+ .version(package_json_1.default.version)
11
+ .usage('<command> [<args>]')
12
+ .description('mock-data subcommands')
13
+ .command('generate', 'generate JSON data')
14
+ .parse();
15
+ //# sourceMappingURL=streamr-mock-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-mock-data.js","sourceRoot":"","sources":["../../bin/streamr-mock-data.ts"],"names":[],"mappings":";;;;;;AACA,yCAAmC;AACnC,mEAAiC;AAEjC,mBAAO;KACF,OAAO,CAAC,sBAAG,CAAC,OAAO,CAAC;KACpB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,WAAW,CAAC,uBAAuB,CAAC;KACpC,OAAO,CAAC,UAAU,EAAE,oBAAoB,CAAC;KACzC,KAAK,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel';
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("../src/logLevel");
5
+ const command_1 = require("../src/command");
6
+ (0, command_1.createClientCommand)(async (client, storageNodeAddress, streamId) => {
7
+ const stream = await client.getStream(streamId);
8
+ await stream.addToStorageNode(storageNodeAddress);
9
+ })
10
+ .arguments('<storageNodeAddress> <streamId>')
11
+ .description('add stream to a storage node')
12
+ .parseAsync();
13
+ //# sourceMappingURL=streamr-storage-node-add-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-storage-node-add-stream.js","sourceRoot":"","sources":["../../bin/streamr-storage-node-add-stream.ts"],"names":[],"mappings":";;;AACA,2BAAwB;AAExB,4CAAoD;AAEpD,IAAA,6BAAmB,EAAC,KAAK,EAAE,MAAqB,EAAE,kBAA0B,EAAE,QAAgB,EAAE,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;AACrD,CAAC,CAAC;KACG,SAAS,CAAC,iCAAiC,CAAC;KAC5C,WAAW,CAAC,8BAA8B,CAAC;KAC3C,UAAU,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel';
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ require("../src/logLevel");
8
+ const easy_table_1 = __importDefault(require("easy-table"));
9
+ const command_1 = require("../src/command");
10
+ (0, command_1.createClientCommand)((async (client, storageNodeAddress) => {
11
+ const { streams } = await client.getStoredStreams(storageNodeAddress);
12
+ if (streams.length > 0) {
13
+ console.info(easy_table_1.default.print(streams.map((stream) => {
14
+ return {
15
+ id: stream.id,
16
+ partitions: stream.getMetadata().partitions
17
+ };
18
+ })));
19
+ }
20
+ }))
21
+ .arguments('<storageNodeAddress>')
22
+ .description('list stream parts in a storage node')
23
+ .parseAsync();
24
+ //# sourceMappingURL=streamr-storage-node-list-streams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-storage-node-list-streams.js","sourceRoot":"","sources":["../../bin/streamr-storage-node-list-streams.ts"],"names":[],"mappings":";;;;;;AACA,2BAAwB;AACxB,4DAAkC;AAElC,4CAAoD;AAEpD,IAAA,6BAAmB,EAAC,CAAC,KAAK,EAAE,MAAqB,EAAE,kBAA0B,EAAE,EAAE;IAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,oBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU;aAC9C,CAAA;QACL,CAAC,CAAC,CAAC,CAAC,CAAA;KACP;AACL,CAAC,CAAC,CAAC;KACE,SAAS,CAAC,sBAAsB,CAAC;KACjC,WAAW,CAAC,qCAAqC,CAAC;KAClD,UAAU,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel';
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ require("../src/logLevel");
8
+ const easy_table_1 = __importDefault(require("easy-table"));
9
+ const command_1 = require("../src/command");
10
+ (0, command_1.createClientCommand)(async (client, options) => {
11
+ const streamId = options.stream;
12
+ const addresses = await client.getStorageNodes(streamId);
13
+ if (addresses.length > 0) {
14
+ console.info(easy_table_1.default.print(addresses.map((address) => ({
15
+ address
16
+ }))));
17
+ }
18
+ })
19
+ .description('fetch a list of storage nodes')
20
+ .option('-s, --stream <streamId>', 'only storage nodes which store the given stream (needs authentication)')
21
+ .parseAsync();
22
+ //# sourceMappingURL=streamr-storage-node-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-storage-node-list.js","sourceRoot":"","sources":["../../bin/streamr-storage-node-list.ts"],"names":[],"mappings":";;;;;;AACA,2BAAwB;AAExB,4DAAkC;AAClC,4CAA4E;AAM5E,IAAA,6BAAmB,EAAC,KAAK,EAAE,MAAqB,EAAE,OAAgB,EAAE,EAAE;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAA;IAC/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,oBAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO;SACV,CAAC,CAAC,CAAC,CAAC,CAAA;KACR;AACL,CAAC,CAAC;KACG,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,yBAAyB,EAAE,wEAAwE,CAAC;KAC3G,UAAU,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel';
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("../src/logLevel");
5
+ const command_1 = require("../src/command");
6
+ (0, command_1.createClientCommand)(async (client, storageNodeAddress, streamId) => {
7
+ const stream = await client.getStream(streamId);
8
+ await stream.removeFromStorageNode(storageNodeAddress);
9
+ })
10
+ .arguments('<storageNodeAddress> <streamId>')
11
+ .description('remove stream from a storage node')
12
+ .parseAsync();
13
+ //# sourceMappingURL=streamr-storage-node-remove-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-storage-node-remove-stream.js","sourceRoot":"","sources":["../../bin/streamr-storage-node-remove-stream.ts"],"names":[],"mappings":";;;AACA,2BAAwB;AAExB,4CAAoD;AAEpD,IAAA,6BAAmB,EAAC,KAAK,EAAE,MAAqB,EAAE,kBAA0B,EAAE,QAAgB,EAAE,EAAE;IAC9F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;AAC1D,CAAC,CAAC;KACG,SAAS,CAAC,iCAAiC,CAAC;KAC5C,WAAW,CAAC,mCAAmC,CAAC;KAChD,UAAU,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ commander_1.program
10
+ .version(package_json_1.default.version)
11
+ .usage('<command> [<args>]')
12
+ .description('storage node subcommands')
13
+ .command('list', 'list storage nodes')
14
+ .command('add-stream', 'add stream')
15
+ .command('remove-stream', 'remove stream')
16
+ .command('list-streams', 'list stream in a storage node')
17
+ .parse();
18
+ //# sourceMappingURL=streamr-storage-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamr-storage-node.js","sourceRoot":"","sources":["../../bin/streamr-storage-node.ts"],"names":[],"mappings":";;;;;;AACA,yCAAmC;AACnC,mEAAiC;AAEjC,mBAAO;KACF,OAAO,CAAC,sBAAG,CAAC,OAAO,CAAC;KACpB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,WAAW,CAAC,0BAA0B,CAAC;KACvC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC;KACrC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;KACnC,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC;KACzC,OAAO,CAAC,cAAc,EAAE,+BAA+B,CAAC;KACxD,KAAK,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/logLevel';