@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.
- package/.eslintignore +2 -0
- package/.eslintrc +6 -0
- package/LICENSE +661 -0
- package/OLD_CHANGELOG.md +141 -0
- package/README.md +225 -0
- package/bin/streamr-governance-vote.ts +51 -0
- package/bin/streamr-governance.ts +10 -0
- package/bin/streamr-mock-data-generate.ts +40 -0
- package/bin/streamr-mock-data.ts +10 -0
- package/bin/streamr-storage-node-add-stream.ts +12 -0
- package/bin/streamr-storage-node-list-streams.ts +20 -0
- package/bin/streamr-storage-node-list.ts +22 -0
- package/bin/streamr-storage-node-remove-stream.ts +12 -0
- package/bin/streamr-storage-node.ts +13 -0
- package/bin/streamr-stream-create.ts +29 -0
- package/bin/streamr-stream-grant-permission.ts +9 -0
- package/bin/streamr-stream-publish.ts +66 -0
- package/bin/streamr-stream-resend-from.ts +32 -0
- package/bin/streamr-stream-resend-last.ts +30 -0
- package/bin/streamr-stream-resend-range.ts +38 -0
- package/bin/streamr-stream-resend.ts +11 -0
- package/bin/streamr-stream-revoke-permission.ts +9 -0
- package/bin/streamr-stream-search.ts +61 -0
- package/bin/streamr-stream-show.ts +28 -0
- package/bin/streamr-stream-subscribe.ts +40 -0
- package/bin/streamr-stream.ts +17 -0
- package/bin/streamr-wallet-whoami.ts +10 -0
- package/bin/streamr-wallet.ts +10 -0
- package/bin/streamr.ts +14 -0
- package/dist/bin/streamr-governance-vote.d.ts +2 -0
- package/dist/bin/streamr-governance-vote.js +52 -0
- package/dist/bin/streamr-governance-vote.js.map +1 -0
- package/dist/bin/streamr-governance.d.ts +2 -0
- package/dist/bin/streamr-governance.js +15 -0
- package/dist/bin/streamr-governance.js.map +1 -0
- package/dist/bin/streamr-mock-data-generate.d.ts +2 -0
- package/dist/bin/streamr-mock-data-generate.js +40 -0
- package/dist/bin/streamr-mock-data-generate.js.map +1 -0
- package/dist/bin/streamr-mock-data.d.ts +2 -0
- package/dist/bin/streamr-mock-data.js +15 -0
- package/dist/bin/streamr-mock-data.js.map +1 -0
- package/dist/bin/streamr-storage-node-add-stream.d.ts +2 -0
- package/dist/bin/streamr-storage-node-add-stream.js +13 -0
- package/dist/bin/streamr-storage-node-add-stream.js.map +1 -0
- package/dist/bin/streamr-storage-node-list-streams.d.ts +2 -0
- package/dist/bin/streamr-storage-node-list-streams.js +24 -0
- package/dist/bin/streamr-storage-node-list-streams.js.map +1 -0
- package/dist/bin/streamr-storage-node-list.d.ts +2 -0
- package/dist/bin/streamr-storage-node-list.js +22 -0
- package/dist/bin/streamr-storage-node-list.js.map +1 -0
- package/dist/bin/streamr-storage-node-remove-stream.d.ts +2 -0
- package/dist/bin/streamr-storage-node-remove-stream.js +13 -0
- package/dist/bin/streamr-storage-node-remove-stream.js.map +1 -0
- package/dist/bin/streamr-storage-node.d.ts +2 -0
- package/dist/bin/streamr-storage-node.js +18 -0
- package/dist/bin/streamr-storage-node.js.map +1 -0
- package/dist/bin/streamr-stream-create.d.ts +2 -0
- package/dist/bin/streamr-stream-create.js +23 -0
- package/dist/bin/streamr-stream-create.js.map +1 -0
- package/dist/bin/streamr-stream-grant-permission.d.ts +2 -0
- package/dist/bin/streamr-stream-grant-permission.js +7 -0
- package/dist/bin/streamr-stream-grant-permission.js.map +1 -0
- package/dist/bin/streamr-stream-publish.d.ts +2 -0
- package/dist/bin/streamr-stream-publish.js +59 -0
- package/dist/bin/streamr-stream-publish.js.map +1 -0
- package/dist/bin/streamr-stream-resend-from.d.ts +2 -0
- package/dist/bin/streamr-stream-resend-from.js +27 -0
- package/dist/bin/streamr-stream-resend-from.js.map +1 -0
- package/dist/bin/streamr-stream-resend-last.d.ts +2 -0
- package/dist/bin/streamr-stream-resend-last.js +26 -0
- package/dist/bin/streamr-stream-resend-last.js.map +1 -0
- package/dist/bin/streamr-stream-resend-range.d.ts +2 -0
- package/dist/bin/streamr-stream-resend-range.js +33 -0
- package/dist/bin/streamr-stream-resend-range.js.map +1 -0
- package/dist/bin/streamr-stream-resend.d.ts +2 -0
- package/dist/bin/streamr-stream-resend.js +13 -0
- package/dist/bin/streamr-stream-resend.js.map +1 -0
- package/dist/bin/streamr-stream-revoke-permission.d.ts +2 -0
- package/dist/bin/streamr-stream-revoke-permission.js +7 -0
- package/dist/bin/streamr-stream-revoke-permission.js.map +1 -0
- package/dist/bin/streamr-stream-search.d.ts +2 -0
- package/dist/bin/streamr-stream-search.js +42 -0
- package/dist/bin/streamr-stream-search.js.map +1 -0
- package/dist/bin/streamr-stream-show.d.ts +2 -0
- package/dist/bin/streamr-stream-show.js +25 -0
- package/dist/bin/streamr-stream-show.js.map +1 -0
- package/dist/bin/streamr-stream-subscribe.d.ts +2 -0
- package/dist/bin/streamr-stream-subscribe.js +37 -0
- package/dist/bin/streamr-stream-subscribe.js.map +1 -0
- package/dist/bin/streamr-stream.d.ts +2 -0
- package/dist/bin/streamr-stream.js +22 -0
- package/dist/bin/streamr-stream.js.map +1 -0
- package/dist/bin/streamr-wallet-whoami.d.ts +2 -0
- package/dist/bin/streamr-wallet-whoami.js +11 -0
- package/dist/bin/streamr-wallet-whoami.js.map +1 -0
- package/dist/bin/streamr-wallet.d.ts +2 -0
- package/dist/bin/streamr-wallet.js +15 -0
- package/dist/bin/streamr-wallet.js.map +1 -0
- package/dist/bin/streamr.d.ts +2 -0
- package/dist/bin/streamr.js +19 -0
- package/dist/bin/streamr.js.map +1 -0
- package/dist/package.json +45 -0
- package/dist/src/client.d.ts +4 -0
- package/dist/src/client.js +36 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/command.d.ts +13 -0
- package/dist/src/command.js +45 -0
- package/dist/src/command.js.map +1 -0
- package/dist/src/common.d.ts +6 -0
- package/dist/src/common.js +32 -0
- package/dist/src/common.js.map +1 -0
- package/dist/src/config.d.ts +6 -0
- package/dist/src/config.js +58 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/logLevel.d.ts +1 -0
- package/dist/src/logLevel.js +11 -0
- package/dist/src/logLevel.js.map +1 -0
- package/dist/src/permission.d.ts +5 -0
- package/dist/src/permission.js +53 -0
- package/dist/src/permission.js.map +1 -0
- package/dist/src/resend.d.ts +3 -0
- package/dist/src/resend.js +32 -0
- package/dist/src/resend.js.map +1 -0
- package/package.json +45 -0
- package/src/client.ts +35 -0
- package/src/command.ts +51 -0
- package/src/common.ts +25 -0
- package/src/config.ts +56 -0
- package/src/logLevel.ts +9 -0
- package/src/permission.ts +53 -0
- package/src/resend.ts +37 -0
- package/test/mock-data.test.ts +19 -0
- package/test/storage-node.test.ts +32 -0
- package/test/stream-create.test.ts +26 -0
- package/test/stream-permission.test.ts +29 -0
- package/test/stream-publish-subscribe.test.ts +86 -0
- package/test/stream-resend.test.ts +66 -0
- package/test/stream-search.test.ts +24 -0
- package/test/stream-show.test.ts +31 -0
- package/test/utils.ts +85 -0
- package/test/wallet.test.ts +11 -0
- 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,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,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,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,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,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,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,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,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,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"}
|