@tchain/tcabci-read-js-client 1.3.13 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client_test.js CHANGED
@@ -1,153 +1,208 @@
1
- const tcAbciClient = require("./client")
2
- const unitJS = require("unit.js")
3
- const {INVALID_ARGUMENTS, INVALID_URL, TRANSACTION_TYPE_NOT_VALID, TRANSACTION_NOT_BROADCAST} = require("./errors")
4
- const { TX_TYPE, READ_NODE_ADDRESS, READ_NODE_WS_ADDRESS} = require("./constants")
5
- const {randomString} = require("./util")
6
-
7
- describe("TCAbciClient TESTS", () => {
8
-
9
- it('should start with valid parameters and read node addresses',(done) => {
10
- const client = new tcAbciClient([READ_NODE_ADDRESS, READ_NODE_WS_ADDRESS])
11
- client.Start()
12
- .then(() => {
13
- const { connected, subscribed } = client.Status()
14
- unitJS.assert.equal(connected, true)
15
- unitJS.assert.equal(subscribed, false)
16
- done()
17
- })
18
- .catch(err => {
19
- done(err)
20
- })
21
- })
22
-
23
- it('should start with valid parameters',(done) => {
24
- const client = new tcAbciClient()
25
- client.Start()
26
- .then(() => {
27
- const { connected, subscribed } = client.Status()
28
- unitJS.assert.equal(connected, true)
29
- unitJS.assert.equal(subscribed, false)
30
- done()
31
- })
32
- .catch(err => {
33
- done(err)
34
- })
35
- })
36
-
37
- it('should reconnect with start and valid parameters',(done) => {
38
- const client = new tcAbciClient()
39
- client.Start()
40
- .then(() => {
41
- const { connected, subscribed } = client.Status()
42
- unitJS.assert.equal(connected, true)
43
- unitJS.assert.equal(subscribed, false)
44
-
45
- client.Reconnect(1003)
46
- const { connected: c2, subscribed: b2} = client.Status()
47
- unitJS.assert.equal(c2, false)
48
- unitJS.assert.equal(b2, false)
49
-
50
- setTimeout(() => {
51
- const { connected, subscribed } = client.Status()
52
- unitJS.assert.equal(connected, true)
53
- unitJS.assert.equal(subscribed, false)
54
- done()
55
- }, 3100)
56
- })
57
- .catch(err => {
58
- done(err)
59
- })
60
- })
61
-
62
- it('should subscribe with valid parameters',(done) => {
63
- const client = new tcAbciClient()
64
- client.Start()
65
- .then(() => {
66
- client.Subscribe(["2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN"], [TX_TYPE.TX_TYPE_STORAGE])
67
- const { connected, subscribed } = client.Status()
68
- unitJS.assert.equal(connected, true)
69
- unitJS.assert.equal(subscribed, true)
70
- done()
71
- })
72
- .catch(err => {
73
- done(err)
74
- })
75
- })
76
-
77
- it('should error subscribe with invalid tx type parameter',(done) => {
78
- const client = new tcAbciClient()
79
- client.Start()
1
+ import TCAbciClient from './client.js'
2
+ import unitJS from 'unit.js'
3
+ import {
4
+ TRANSACTION_NOT_BROADCAST,
5
+ TRANSACTION_TYPE_NOT_VALID,
6
+ } from './errors.js'
7
+ import {
8
+ READ_NODE_ADDRESS,
9
+ READ_NODE_WS_ADDRESS,
10
+ TX_TYPE,
11
+ } from './constants.js'
12
+ //
13
+ // const {
14
+ // TX_TYPE,
15
+ // READ_NODE_ADDRESS,
16
+ // READ_NODE_WS_ADDRESS,
17
+ // } = require('./constants')
18
+ //
19
+ // const { randomString } = require('./util')
20
+
21
+ describe('TCAbciClient TESTS', () => {
22
+ it('should start with valid parameters', (done) => {
23
+ const client = new TCAbciClient()
24
+
25
+ client
26
+ .Start()
27
+ .then(() => {
28
+ const { connected, subscribed } = client.Status()
29
+
30
+ unitJS.assert.equal(connected, true)
31
+ unitJS.assert.equal(subscribed, false)
32
+ done()
33
+ })
34
+ .catch((err) => {
35
+ done(err)
36
+ })
37
+ })
38
+
39
+ it('should start with valid parameters and read node addresses', (done) => {
40
+ const client = new TCAbciClient([READ_NODE_ADDRESS, READ_NODE_WS_ADDRESS])
41
+
42
+ client
43
+ .Start()
44
+ .then(() => {
45
+ const { connected, subscribed } = client.Status()
46
+
47
+ unitJS.assert.equal(connected, true)
48
+ unitJS.assert.equal(subscribed, false)
49
+ done()
50
+ })
51
+ .catch((err) => {
52
+ done(err)
53
+ })
54
+ })
55
+
56
+ it('should reconnect with start and valid parameters', (done) => {
57
+ const client = new TCAbciClient()
58
+
59
+ client
60
+ .Start()
61
+ .then(() => {
62
+ const { connected, subscribed } = client.Status()
63
+
64
+ unitJS.assert.equal(connected, true)
65
+ unitJS.assert.equal(subscribed, false)
66
+
67
+ client.Reconnect(1003)
68
+ const { connected: c2, subscribed: b2 } = client.Status()
69
+
70
+ unitJS.assert.equal(c2, false)
71
+ unitJS.assert.equal(b2, false)
72
+
73
+ setTimeout(() => {
74
+ const { connected, subscribed } = client.Status()
75
+
76
+ unitJS.assert.equal(connected, true)
77
+ unitJS.assert.equal(subscribed, false)
78
+ done()
79
+ }, 3100)
80
+ })
81
+ .catch((err) => {
82
+ done(err)
83
+ })
84
+ })
85
+
86
+ it('should subscribe with valid parameters', (done) => {
87
+ const client = new TCAbciClient()
88
+
89
+ client
90
+ .Start()
80
91
  .then(() => {
81
- client.Subscribe(["2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN"], ['invalid'])
82
- done(new Error("invalid"))
92
+ client.Subscribe(
93
+ [
94
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
95
+ ],
96
+ [TX_TYPE.TX_TYPE_STORAGE],
97
+ )
98
+ const { connected, subscribed } = client.Status()
99
+
100
+ unitJS.assert.equal(connected, true)
101
+ unitJS.assert.equal(subscribed, true)
102
+ done()
103
+ })
104
+ .catch((err) => {
105
+ done(err)
106
+ })
107
+ })
108
+
109
+ it('should error subscribe with invalid tx type parameter', (done) => {
110
+ const client = new TCAbciClient()
111
+
112
+ client
113
+ .Start()
114
+ .then(() => {
115
+ client.Subscribe(
116
+ [
117
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
118
+ ],
119
+ ['invalid'],
120
+ )
121
+ done(new Error('invalid'))
83
122
  })
84
123
  .catch(() => {
85
124
  done()
86
125
  })
87
126
  })
88
127
 
89
- it('should unsubscribe with valid parameters',(done) => {
90
- const client = new tcAbciClient()
91
- client.Start()
92
- .then(() => {
93
- client.Subscribe(["2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN"])
94
- const { connected, subscribed } = client.Status()
95
- unitJS.assert.equal(connected, true)
96
- unitJS.assert.equal(subscribed, true)
97
-
98
- return Promise.resolve()
99
- })
100
- .then(() => {
101
- client.Unsubscribe()
102
- const { connected, subscribed } = client.Status()
103
- unitJS.assert.equal(connected, true)
104
- unitJS.assert.equal(subscribed, false)
105
- done()
106
- })
107
- .catch(err => {
108
- done(err)
109
- })
110
- })
111
-
112
- it('should return last block',(done) => {
113
- const client = new tcAbciClient()
114
- client.LastBlock()
115
- .then(data => {
116
- unitJS.value(data.blocks).hasLength(1)
117
- unitJS.value(data.total_count).isGreaterThan(1)
118
- done()
119
- })
120
- .catch(err => {
121
- done(err)
122
- })
123
- })
124
-
125
- it('should return transaction search result',(done) => {
126
- const client = new tcAbciClient()
127
- client.TxSearch({
128
- heightOperator: ">=",
129
- height: 0,
130
- recipientAddrs: ["2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN"],
131
- limit: 1,
132
- offset: 0,
133
- orderBy: "ASC"
134
- })
135
- .then(data => {
136
- unitJS.value(data.txs).hasLength(1)
137
- unitJS.value(data.total_count).isGreaterThan(0)
138
- done()
139
- })
140
- .catch(err => {
141
- done(err)
142
- })
143
- })
144
-
145
- it('should return transaction summary result',(done) => {
146
- const client = new tcAbciClient()
147
- client.TxSummary({
148
- recipientAddrs: ["2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN"],
149
- })
150
- .then(data => {
128
+ it('should unsubscribe with valid parameters', (done) => {
129
+ const client = new TCAbciClient()
130
+
131
+ client
132
+ .Start()
133
+ .then(() => {
134
+ client.Subscribe([
135
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
136
+ ])
137
+ const { connected, subscribed } = client.Status()
138
+
139
+ unitJS.assert.equal(connected, true)
140
+ unitJS.assert.equal(subscribed, true)
141
+
142
+ return Promise.resolve()
143
+ })
144
+ .then(() => {
145
+ client.Unsubscribe()
146
+ const { connected, subscribed } = client.Status()
147
+
148
+ unitJS.assert.equal(connected, true)
149
+ unitJS.assert.equal(subscribed, false)
150
+ done()
151
+ })
152
+ .catch((err) => {
153
+ done(err)
154
+ })
155
+ })
156
+
157
+ it('should return last block', (done) => {
158
+ const client = new TCAbciClient()
159
+
160
+ client
161
+ .LastBlock()
162
+ .then((data) => {
163
+ unitJS.value(data.blocks).hasLength(1)
164
+ unitJS.value(data.total_count).isGreaterThan(1)
165
+ done()
166
+ })
167
+ .catch((err) => {
168
+ done(err)
169
+ })
170
+ })
171
+
172
+ it('should return transaction search result', (done) => {
173
+ const client = new TCAbciClient()
174
+
175
+ client
176
+ .TxSearch({
177
+ heightOperator: '>=',
178
+ height: 0,
179
+ recipientAddrs: [
180
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
181
+ ],
182
+ limit: 1,
183
+ offset: 0,
184
+ orderBy: 'ASC',
185
+ })
186
+ .then((data) => {
187
+ unitJS.value(data.txs).hasLength(1)
188
+ unitJS.value(data.total_count).isGreaterThan(0)
189
+ done()
190
+ })
191
+ .catch((err) => {
192
+ done(err)
193
+ })
194
+ })
195
+ //
196
+ it('should return transaction summary result', (done) => {
197
+ const client = new TCAbciClient()
198
+
199
+ client
200
+ .TxSummary({
201
+ recipientAddrs: [
202
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
203
+ ],
204
+ })
205
+ .then((data) => {
151
206
  unitJS.value(data.first_block_height).isGreaterThan(0)
152
207
  unitJS.value(data.first_transaction).isNotEmpty()
153
208
  unitJS.value(data.last_block_height).isGreaterThan(0)
@@ -155,77 +210,88 @@ describe("TCAbciClient TESTS", () => {
155
210
  unitJS.value(data.last_transaction).isNotEmpty()
156
211
  done()
157
212
  })
158
- .catch(err => {
213
+ .catch((err) => {
159
214
  done(err)
160
215
  })
161
216
  })
162
217
 
163
- it('should not broadcast transaction if type is incorrect',(done) => {
164
- const client = new tcAbciClient()
165
- try {
166
- client.Broadcast({
167
- type: "dummy type",
168
- data: "",
169
- sender_addr: "",
170
- recipient_addr: ""
171
- })
172
-
173
- done(new Error('invalid'))
174
- } catch (err) {
175
- unitJS.assert.equal(TRANSACTION_TYPE_NOT_VALID, err)
176
- done()
177
- }
178
- })
179
-
180
- it('should not broadcast transaction',(done) => {
181
- const client = new tcAbciClient()
182
- client.Broadcast({
183
- id: "dummy id",
184
- version: 0,
185
- type: TX_TYPE.TX_TYPE_ADDRESS,
186
- data: btoa(JSON.stringify({data: ""})),
187
- sender_addr: "2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN",
188
- recipient_addr: "2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN",
189
- sign: btoa("dummy sign"),
190
- fee: 0
191
- })
192
- .then(data => {
193
- unitJS.assert.notEqual(data.data.hash, "")
194
- done()
195
- })
196
- .catch(err => {
197
- unitJS.assert.equal(TRANSACTION_NOT_BROADCAST, err)
198
- done()
199
- })
200
- })
201
-
202
- it('should error in bulk tx if addresses count is zero',(done) => {
203
- const client = new tcAbciClient()
204
- client.Bulk([])
205
- .then(() => {
206
- done(new Error('invalid return'))
207
- })
208
- .catch((err) => {
209
- unitJS.assert.equal(400, err.response.status)
210
- done()
211
- })
212
- })
213
-
214
- it('should error in bulk tx if addresses count is greater than 251',(done) => {
215
- const addresses = []
216
-
217
- for (var i = 0; i < 252; i++) {
218
- addresses.push("2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN")
219
- }
220
-
221
- const client = new tcAbciClient()
222
- client.Bulk(addresses)
223
- .then(() => {
224
- done(new Error('invalid return'))
225
- })
226
- .catch((err) => {
227
- unitJS.assert.equal(400, err.response.status)
228
- done()
229
- })
230
- })
231
- })
218
+ it('should not broadcast transaction if type is incorrect', (done) => {
219
+ const client = new TCAbciClient()
220
+
221
+ try {
222
+ client.Broadcast({
223
+ type: 'dummy type',
224
+ data: '',
225
+ sender_addr: '',
226
+ recipient_addr: '',
227
+ })
228
+
229
+ done(new Error('invalid'))
230
+ } catch (err) {
231
+ unitJS.assert.equal(TRANSACTION_TYPE_NOT_VALID, err)
232
+ done()
233
+ }
234
+ })
235
+
236
+ it('should not broadcast transaction', (done) => {
237
+ const client = new TCAbciClient()
238
+
239
+ client
240
+ .Broadcast({
241
+ id: 'dummy id',
242
+ version: 0,
243
+ type: TX_TYPE.TX_TYPE_ADDRESS,
244
+ data: btoa(JSON.stringify({ data: '' })),
245
+ sender_addr:
246
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
247
+ recipient_addr:
248
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
249
+ sign: btoa('dummy sign'),
250
+ fee: 0,
251
+ })
252
+ .then((data) => {
253
+ unitJS.assert.notEqual(data.data.hash, '')
254
+ done()
255
+ })
256
+ .catch((err) => {
257
+ unitJS.assert.equal(TRANSACTION_NOT_BROADCAST, err)
258
+ done()
259
+ })
260
+ })
261
+
262
+ it('should error in bulk tx if addresses count is zero', (done) => {
263
+ const client = new TCAbciClient()
264
+
265
+ client
266
+ .Bulk([])
267
+ .then(() => {
268
+ done(new Error('invalid return'))
269
+ })
270
+ .catch((err) => {
271
+ unitJS.assert.equal(400, err.response.status)
272
+ done()
273
+ })
274
+ })
275
+
276
+ it('should error in bulk tx if addresses count is greater than 251', (done) => {
277
+ const addresses = []
278
+
279
+ for (let i = 0; i < 252; i++) {
280
+ addresses.push(
281
+ '2mSCzresfg8Gwu7LZ9k9BTWkQAcQEkvYHFUSCZE2ubM4QV89PTeSYwQDqBas3ykq2emHEK6VRvxdgoe1vrhBbQGN',
282
+ )
283
+ }
284
+
285
+ const client = new TCAbciClient()
286
+
287
+ client
288
+ .Bulk(addresses)
289
+ .then(() => {
290
+ done(new Error('invalid return'))
291
+ })
292
+ .catch((err) => {
293
+ unitJS.assert.equal(400, err.response.status)
294
+ done()
295
+ })
296
+ })
297
+ })
package/constants.js CHANGED
@@ -1,56 +1,54 @@
1
- module.exports = {
2
- MESSAGE_TYPE: {
3
- SUBSCRIBE: "subscribe",
4
- UNSUBSCRIBE: "unsubscribe"
5
- },
6
- CHARACTERS: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
7
- READ_NODE_ADDRESS: "https://read-node-01.transferchain.io",
8
- READ_NODE_WS_ADDRESS: "wss://read-node-01.transferchain.io/ws",
9
- TX_TYPE: {
10
- TX_TYPE_MASTER: "initial_storage",
11
- TX_TYPE_ADDRESS: "interim_storage",
12
- TX_TYPE_ADDRESSES: "interim_storages",
13
- TX_TYPE_ACCOUNT: 'initial_account',
14
- TX_TYPE_ACCOUNT_INITIAL_TXS: 'initial_account_txs',
15
- TX_TYPE_MESSAGE: "message",
16
- TX_TYPE_MESSAGE_SENT: "inherit_message",
17
- TX_TYPE_MESSAGE_THREAD_DELETE: "inherit_message_recv",
18
- TX_TYPE_TRANSFER: "transfer",
19
- TX_TYPE_TRANSFER_CANCEL: "transfer_Cancel",
20
- TX_TYPE_TRANSFER_SENT: "transfer_sent",
21
- TX_TYPE_TRANSFER_RECEIVE_DELETE: "transfer_receive_delete",
22
- TX_TYPE_STORAGE: "storage",
23
- TX_TYPE_STORAGE_DELETE: "storage_delete",
24
- TX_TYPE_BACKUP: "backup",
25
- TX_TYPE_CONTACT: "interim_message",
26
- TX_TYPE_FILE_VIRTUAL: "fs_virt",
27
- TX_TYPE_FILE_FS: "fs_real",
28
- TX_TYPE_RFILE_VIRTUAL: "fs_rvirt",
29
- TX_TYPE_RFILE_FS: "fs_rreal",
30
- TX_TYPE_DFILE_VIRTUAL: "fs_dvirt",
31
- TX_TYPE_DFILE_FS: "fs_dreal",
32
- TX_TYPE_PFILE_VIRTUAL: "fs_pvirt",
33
- TX_TYPE_REQUEST: "request",
34
- TX_TYPE_REQUEST_IN: "request_in",
35
- TX_TYPE_REQUEST_UPLOAD: "request_upload",
36
- TX_TYPE_REQUEST_CANCEL: "request_Cancel",
37
- TX_TYPE_DATA_ROOM: "data_room",
38
- TX_TYPE_DATA_ROOMF: "data_roomF",
39
- TX_TYPE_DATA_ROOM_POLICY: "data_room_policy",
40
- TX_TYPE_DATA_ROOM_DATA: "data_room_data",
41
- TX_TYPE_DATA_ROOM_DATA_DELETE: "data_room_data_delete",
42
- TX_TYPE_DATA_ROOM_DATA_POLICY: "data_room_data_policy",
43
- TX_TYPE_MULTI_DATA_ROOM: "multi_data_room",
44
- TX_TYPE_MULTI_STORAGE: "multi_storage",
45
- TX_TYPE_MULTI_TRANSFER: "multi_transfer",
46
- TX_TYPE_MULTI_TRANSFER_SENT: "multi_transfer_sent",
47
- TX_TYPE_MULTI_BACKUP: "multi_backup",
48
- TX_TYPE_PASSWD_DATA: "passwd_data",
49
- TX_TYPE_PASSWD_ROOM: "passwd_room",
50
- TX_TYPE_PASSWD_ROOMF: "passwd_roomF",
51
- TX_TYPE_PASSWD_ROOM_POLICY: "passwd_room_policy",
52
- TX_TYPE_PASSWD_ROOM_DATA: "passwd_room_data",
53
- TX_TYPE_PASSWD_ROOM_DATA_DELETE: "passwd_room_data_delete",
54
- TX_TYPE_PASSWD_ROOM_DATA_POLICY: "passwd_room_data_policy",
55
- }
56
- }
1
+ export const MESSAGE_TYPE = {
2
+ SUBSCRIBE: 'subscribe',
3
+ UNSUBSCRIBE: 'unsubscribe',
4
+ },
5
+ CHARACTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
6
+ READ_NODE_ADDRESS = 'https://read-node-01.transferchain.io',
7
+ READ_NODE_WS_ADDRESS = 'wss://read-node-01.transferchain.io/ws',
8
+ TX_TYPE = {
9
+ TX_TYPE_MASTER: 'initial_storage',
10
+ TX_TYPE_ADDRESS: 'interim_storage',
11
+ TX_TYPE_ADDRESSES: 'interim_storages',
12
+ TX_TYPE_ACCOUNT: 'initial_account',
13
+ TX_TYPE_ACCOUNT_INITIAL_TXS: 'initial_account_txs',
14
+ TX_TYPE_MESSAGE: 'message',
15
+ TX_TYPE_MESSAGE_SENT: 'inherit_message',
16
+ TX_TYPE_MESSAGE_THREAD_DELETE: 'inherit_message_recv',
17
+ TX_TYPE_TRANSFER: 'transfer',
18
+ TX_TYPE_TRANSFER_CANCEL: 'transfer_Cancel',
19
+ TX_TYPE_TRANSFER_SENT: 'transfer_sent',
20
+ TX_TYPE_TRANSFER_RECEIVE_DELETE: 'transfer_receive_delete',
21
+ TX_TYPE_STORAGE: 'storage',
22
+ TX_TYPE_STORAGE_DELETE: 'storage_delete',
23
+ TX_TYPE_BACKUP: 'backup',
24
+ TX_TYPE_CONTACT: 'interim_message',
25
+ TX_TYPE_FILE_VIRTUAL: 'fs_virt',
26
+ TX_TYPE_FILE_FS: 'fs_real',
27
+ TX_TYPE_RFILE_VIRTUAL: 'fs_rvirt',
28
+ TX_TYPE_RFILE_FS: 'fs_rreal',
29
+ TX_TYPE_DFILE_VIRTUAL: 'fs_dvirt',
30
+ TX_TYPE_DFILE_FS: 'fs_dreal',
31
+ TX_TYPE_PFILE_VIRTUAL: 'fs_pvirt',
32
+ TX_TYPE_REQUEST: 'request',
33
+ TX_TYPE_REQUEST_IN: 'request_in',
34
+ TX_TYPE_REQUEST_UPLOAD: 'request_upload',
35
+ TX_TYPE_REQUEST_CANCEL: 'request_Cancel',
36
+ TX_TYPE_DATA_ROOM: 'data_room',
37
+ TX_TYPE_DATA_ROOMF: 'data_roomF',
38
+ TX_TYPE_DATA_ROOM_POLICY: 'data_room_policy',
39
+ TX_TYPE_DATA_ROOM_DATA: 'data_room_data',
40
+ TX_TYPE_DATA_ROOM_DATA_DELETE: 'data_room_data_delete',
41
+ TX_TYPE_DATA_ROOM_DATA_POLICY: 'data_room_data_policy',
42
+ TX_TYPE_MULTI_DATA_ROOM: 'multi_data_room',
43
+ TX_TYPE_MULTI_STORAGE: 'multi_storage',
44
+ TX_TYPE_MULTI_TRANSFER: 'multi_transfer',
45
+ TX_TYPE_MULTI_TRANSFER_SENT: 'multi_transfer_sent',
46
+ TX_TYPE_MULTI_BACKUP: 'multi_backup',
47
+ TX_TYPE_PASSWD_DATA: 'passwd_data',
48
+ TX_TYPE_PASSWD_ROOM: 'passwd_room',
49
+ TX_TYPE_PASSWD_ROOMF: 'passwd_roomF',
50
+ TX_TYPE_PASSWD_ROOM_POLICY: 'passwd_room_policy',
51
+ TX_TYPE_PASSWD_ROOM_DATA: 'passwd_room_data',
52
+ TX_TYPE_PASSWD_ROOM_DATA_DELETE: 'passwd_room_data_delete',
53
+ TX_TYPE_PASSWD_ROOM_DATA_POLICY: 'passwd_room_data_policy',
54
+ }