@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/.editorconfig +9 -0
- package/.eslintignore +3 -0
- package/.eslintrc.cjs +85 -0
- package/.prettierrc +16 -0
- package/README.md +12 -9
- package/bytea.js +14 -15
- package/client.js +393 -259
- package/client_test.js +279 -213
- package/constants.js +54 -56
- package/errors.js +26 -25
- package/message.js +48 -44
- package/package.json +15 -6
- package/transaction.js +99 -101
- package/util.js +16 -17
package/client_test.js
CHANGED
|
@@ -1,153 +1,208 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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(
|
|
82
|
-
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
+
}
|