@tchain/tcabci-read-js-client 2.5.8 → 2.5.9

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/callback.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare type SuccessCallback = (event: Event) => void
2
+ export declare type ErrorCallback = (event: Event) => void
3
+ export declare type CloseCallback = (event: Event) => void
4
+ export declare type ListenCallback = (event: Event) => void
package/client.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { TXType } from './transaction'
2
+ import { SuccessCallback, ErrorCallback, CloseCallback, ListenCallback } from './callback'
2
3
 
3
4
  declare class TCaBCIClient {
4
5
  constructor(
@@ -7,15 +8,19 @@ declare class TCaBCIClient {
7
8
  chainName: string,
8
9
  chainVersion: string,
9
10
  )
10
-
11
11
  SetDebug(debug: boolean): TCaBCIClient
12
- Socket(): WebSocket
13
- SetSuccessCallback(cb: (event: Event) => void): TCaBCIClient
14
- SetErrorCallback(cb: (event: Event) => void): TCaBCIClient
15
- SetCloseCallback(cb: (event: Event) => void): TCaBCIClient
16
- SetListenCallback(cb: (event: Event) => void): TCaBCIClient
12
+ SetSuccessCallback(cb: SuccessCallback): TCaBCIClient
13
+ SetErrorCallback(cb: ErrorCallback): TCaBCIClient
14
+ SetCloseCallback(cb: CloseCallback): TCaBCIClient
15
+ SetListenCallback(cb: ListenCallback): TCaBCIClient
16
+ IsConnected(): boolean
17
+ IsSubscribed(): boolean
18
+ get SubscribeAddresses(): string[]
19
+ get SubscribedSignedData(): Record<string, string> | null
20
+ get Socket(): WebSocket
17
21
  Start(): Awaited<TCaBCIClient>
18
- Stop(): Awaited<TCaBCIClient>
22
+ Stop(code?: number): Awaited<TCaBCIClient>
23
+ Reconnect(code?: number): Awaited<TCaBCIClient>
19
24
  Status(): {
20
25
  chain_name: string
21
26
  chain_version: string
@@ -105,8 +110,6 @@ declare class TCaBCIClient {
105
110
  chainName?: string,
106
111
  chainVersion?: string,
107
112
  ): Promise<{ data: Record<string, any> }>
108
- Disconnect(code?: number): Awaited<TCaBCIClient>
109
- Reconnect(code?: number): Awaited<TCaBCIClient>
110
113
  }
111
114
 
112
115
  export = TCaBCIClient
package/client.js CHANGED
@@ -23,47 +23,51 @@ import { TWebSocket } from './websocket.js'
23
23
  import { TX_TYPE_LIST } from './transaction.js'
24
24
 
25
25
  /**
26
- * @callback successCallback
26
+ * @callback SuccessCallback
27
27
  * @param {Event} event
28
28
  * @return void
29
29
  */
30
+
30
31
  /**
31
- * @callback errorCallback
32
+ * @callback ErrorCallback
32
33
  * @param {Event} event
33
34
  * @return void
34
35
  */
36
+
35
37
  /**
36
- * @callback closeCallback
38
+ * @callback CloseCallback
37
39
  * @param {Event} event
38
40
  * @return void
39
41
  */
42
+
40
43
  /**
41
- * @callback listenCallback
44
+ * @callback ListenCallback
42
45
  * @param {*} message
43
46
  * @return void
44
47
  */
48
+
45
49
  export default class TCaBCIClient {
46
50
  _subscribed = false
47
51
  _subscribedAddresses = []
48
- _subscribedSignedData = {}
52
+ _SubscribedSignedData = {}
49
53
  _connected = false
50
54
  _chainName = 'transferchain'
51
55
  _chainVersion = 'v1'
52
- _version = `v2.5.8`
56
+ _version = `v2.5.9`
53
57
  /**
54
- * @type {?successCallback}
58
+ * @type {?SuccessCallback}
55
59
  */
56
60
  _successCb = null
57
61
  /**
58
- * @type {?errorCallback}
62
+ * @type {?ErrorCallback}
59
63
  */
60
64
  _errorCb = null
61
65
  /**
62
- * @type {?closeCallback}
66
+ * @type {?CloseCallback}
63
67
  */
64
68
  _closeCb = null
65
69
  /**
66
- * @type {?listenCallback}
70
+ * @type {?ListenCallback}
67
71
  */
68
72
  _listenCb = null
69
73
  _wsLibrary = null
@@ -116,12 +120,8 @@ export default class TCaBCIClient {
116
120
  return this
117
121
  }
118
122
 
119
- Socket() {
120
- return this._ws
121
- }
122
-
123
123
  /**
124
- * @param {successCallback} cb
124
+ * @param {SuccessCallback} cb
125
125
  * @return {TCaBCIClient}
126
126
  */
127
127
  SetSuccessCallback(cb) {
@@ -131,7 +131,7 @@ export default class TCaBCIClient {
131
131
  }
132
132
 
133
133
  /**
134
- * @param {errorCallback} cb
134
+ * @param {ErrorCallback} cb
135
135
  * @return {TCaBCIClient}
136
136
  */
137
137
  SetErrorCallback(cb) {
@@ -141,7 +141,7 @@ export default class TCaBCIClient {
141
141
  }
142
142
 
143
143
  /**
144
- * @param {closeCallback} cb
144
+ * @param {CloseCallback} cb
145
145
  * @return {TCaBCIClient}
146
146
  */
147
147
  SetCloseCallback(cb) {
@@ -151,7 +151,7 @@ export default class TCaBCIClient {
151
151
  }
152
152
 
153
153
  /**
154
- * @param {listenCallback} cb
154
+ * @param {ListenCallback} cb
155
155
  * @return {TCaBCIClient}
156
156
  */
157
157
  SetListenCallback(cb) {
@@ -160,21 +160,53 @@ export default class TCaBCIClient {
160
160
  return this
161
161
  }
162
162
 
163
+ IsConnected() {
164
+ return this._connected
165
+ }
166
+
167
+ IsSubscribed() {
168
+ return this._subscribed
169
+ }
170
+
171
+ get SubscribeAddresses() {
172
+ return this._subscribedAddresses
173
+ }
174
+
175
+ get SubscribedSignedData() {
176
+ return this._SubscribedSignedData
177
+ }
178
+
179
+ get Socket() {
180
+ return this._ws
181
+ }
182
+
183
+ async Reconnect(code = 1000) {
184
+ if (this.IsConnected()) {
185
+ await this._disconnect(code)
186
+ }
187
+
188
+ await this._connect()
189
+
190
+ return this
191
+ }
192
+
163
193
  async Start() {
164
- return this.connect()
194
+ return this._connect()
165
195
  }
166
196
 
167
197
  /**
198
+ * @param {?number} code
168
199
  * @return {Awaited<TCaBCIClient>}
169
200
  * @throws {Error}
170
201
  */
171
- async Stop() {
172
- if (!this.getConnected()) {
202
+ async Stop(code = 1000) {
203
+ if (!this.IsConnected()) {
173
204
  throw new Error(NOT_CONNECTED)
174
205
  }
175
- await this.Disconnect(1000)
176
- this.setConnected(false)
177
- this.setSubscribed(false)
206
+
207
+ await this._disconnect(code)
208
+ this._setConnected(false)
209
+ this._setSubscribed(false)
178
210
 
179
211
  return this
180
212
  }
@@ -214,35 +246,30 @@ export default class TCaBCIClient {
214
246
  }
215
247
  }
216
248
 
217
- if (!this.getConnected()) throw new Error(NOT_CONNECTED)
249
+ if (!this.IsConnected()) throw new Error(NOT_CONNECTED)
218
250
 
219
- let addrs = [],
220
- sdata = {}
251
+ const addrs = [],
252
+ sdata = signedData ?? this.SubscribedSignedData
221
253
 
222
- addrs = addresses
223
- sdata = signedData
254
+ addrs.push(...addresses)
224
255
 
225
- if (this.getSubscribeAddresses().length > 0) {
256
+ if (this.SubscribeAddresses.length > 0) {
226
257
  let newAddress = []
227
258
 
228
259
  for (let i = 0; i < addresses.length; i++) {
229
- if (this.getSubscribeAddresses().indexOf(addresses[i]) === -1) {
260
+ if (this.SubscribeAddresses.indexOf(addresses[i]) === -1) {
230
261
  newAddress.push(addresses[i])
231
262
  }
232
263
  }
233
- addrs = newAddress
234
- }
235
-
236
- if (this.getSubscribedSignedData().length > 0) {
237
- sdata = this.getSubscribedSignedData()
264
+ addrs.push(...newAddress)
238
265
  }
239
266
 
240
267
  const message = new Message(true, SUBSCRIBEMessage, addrs, sdata, txTypes)
241
268
 
242
269
  this._ws.send(message.ToJSON())
243
- this.setSubscribeAddresses(addrs, true)
244
- .setSubscribeSignedData(signedData)
245
- .setSubscribed(true)
270
+ this._setSubscribeAddresses(addrs, true)
271
+ ._setSubscribeSignedData(signedData)
272
+ ._setSubscribed(true)
246
273
 
247
274
  return this
248
275
  }
@@ -251,19 +278,15 @@ export default class TCaBCIClient {
251
278
  * @return {TCaBCIClient}
252
279
  */
253
280
  Unsubscribe() {
254
- if (!this.getSubscribed()) {
281
+ if (!this.IsSubscribed()) {
255
282
  throw new Error(NOT_SUBSCRIBED)
256
283
  }
257
284
  this._ws.send(
258
- new Message(
259
- true,
260
- UNSUBSCRIBEMessage,
261
- this.getSubscribeAddresses(),
262
- ).ToJSON(),
285
+ new Message(true, UNSUBSCRIBEMessage, this.SubscribeAddresses).ToJSON(),
263
286
  )
264
- this.setSubscribed(false)
265
- this.setSubscribeAddresses([])
266
- this.setSubscribeSignedData({})
287
+ this._setSubscribed(false)
288
+ this._setSubscribeAddresses([])
289
+ this._setSubscribeSignedData({})
267
290
 
268
291
  return this
269
292
  }
@@ -591,68 +614,43 @@ export default class TCaBCIClient {
591
614
  })
592
615
  }
593
616
 
594
- /**
595
- * @param {?number} code
596
- * @return {Promise<TCaBCIClient>}
597
- */
598
- async Disconnect(code = 1000) {
599
- if (this.getConnected()) {
600
- await this._ws.disconnect(code)
601
-
602
- this.setConnected(false)
603
- this.setSubscribed(false)
604
- }
605
-
606
- return this
607
- }
608
-
609
- async Reconnect(code = 1000) {
610
- if (this.getConnected()) {
611
- await this.Disconnect(code)
612
- }
613
-
614
- await this.connect()
615
-
616
- return this
617
- }
618
-
619
- callSuccessCallback(event) {
617
+ _callSuccessCallback(event) {
620
618
  if (this._successCb) this._successCb(event)
621
619
  }
622
620
 
623
- callErrorCallback(event) {
621
+ _callErrorCallback(event) {
624
622
  if (this._errorCb) this._errorCb(event)
625
623
  }
626
624
 
627
- callCloseCallback(event) {
625
+ _callCloseCallback(event) {
628
626
  if (this._closeCb) this._closeCb(event)
629
627
  }
630
628
 
631
- callListenCallback(message) {
629
+ _callListenCallback(message) {
632
630
  if (this._listenCb) this._listenCb(message)
633
631
  }
634
632
 
635
633
  /**
636
634
  * @return {Promise<TWebSocket>}
637
635
  */
638
- async connect() {
639
- if (this.getConnected()) {
636
+ async _connect() {
637
+ if (this.IsConnected()) {
640
638
  return Promise.reject(new Error(ALREADY_CONNECTED))
641
639
  }
642
640
 
643
641
  this._ws = new TWebSocket(this._options)
644
642
 
645
643
  this._ws.addErrorListener((e) => {
646
- this.setConnected(false)
647
- this.setSubscribed(false)
648
- this.setSubscribeAddresses([], false)
649
- this.setSubscribeSignedData({})
650
- this.callErrorCallback(e)
644
+ this._setConnected(false)
645
+ this._setSubscribed(false)
646
+ this._setSubscribeAddresses([], false)
647
+ this._setSubscribeSignedData({})
648
+ this._callErrorCallback(e)
651
649
  })
652
650
 
653
651
  this._ws.addOpenListener((e) => {
654
- this.setConnected(true)
655
- this.callSuccessCallback(e)
652
+ this._setConnected(true)
653
+ this._callSuccessCallback(e)
656
654
  })
657
655
 
658
656
  this._ws.addMessageListener((message) => {
@@ -660,44 +658,43 @@ export default class TCaBCIClient {
660
658
  return { status: message.data }
661
659
  }
662
660
 
663
- this.callListenCallback(
661
+ this._callListenCallback(
664
662
  !isJSON(message.data) ? message.data : fromJSON(message.data),
665
663
  )
666
664
  })
667
665
 
668
666
  this._ws.addCloseListener((e) => {
669
- this.setConnected(false)
670
- this.setSubscribed(false)
671
- this.setSubscribeAddresses([], false)
672
- this.setSubscribeSignedData({})
673
- this.callCloseCallback(e)
667
+ this._setConnected(false)
668
+ this._setSubscribed(false)
669
+ this._setSubscribeAddresses([], false)
670
+ this._setSubscribeSignedData({})
671
+ this._callCloseCallback(e)
674
672
  })
675
673
 
676
674
  return this._ws.connect()
677
675
  }
678
676
 
679
- getConnected() {
680
- return this._connected
681
- }
677
+ /**
678
+ * @param {?number} code
679
+ * @return {Promise<TCaBCIClient>}
680
+ */
681
+ async _disconnect(code = 1000) {
682
+ if (this.IsConnected()) {
683
+ await this._ws.disconnect(code)
682
684
 
683
- setConnected(value) {
684
- this._connected = value
685
- }
685
+ this._setConnected(false)
686
+ this._setSubscribed(false)
687
+ }
686
688
 
687
- getSubscribed() {
688
- return this._subscribed
689
+ return this
689
690
  }
690
691
 
691
- setSubscribed(value) {
692
+ _setSubscribed(value) {
692
693
  this._subscribed = value
693
694
  }
694
695
 
695
- getSubscribeAddresses() {
696
- return this._subscribedAddresses
697
- }
698
-
699
- getSubscribedSignedData() {
700
- return this._subscribedSignedData
696
+ _setConnected(value) {
697
+ this._connected = value
701
698
  }
702
699
 
703
700
  /**
@@ -705,7 +702,7 @@ export default class TCaBCIClient {
705
702
  * @param {?boolean} push
706
703
  * @return {TCaBCIClient}
707
704
  */
708
- setSubscribeAddresses(addresses, push = false) {
705
+ _setSubscribeAddresses(addresses, push = false) {
709
706
  if (push) {
710
707
  this._subscribedAddresses.push(...addresses)
711
708
 
@@ -720,8 +717,8 @@ export default class TCaBCIClient {
720
717
  * @param {Object} signedData
721
718
  * @return {TCaBCIClient}
722
719
  */
723
- setSubscribeSignedData(signedData) {
724
- this._subscribedSignedData = signedData
720
+ _setSubscribeSignedData(signedData) {
721
+ this._SubscribedSignedData = signedData
725
722
 
726
723
  return this
727
724
  }
package/constants.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const SUBSCRIBEMessage = 'subscribe',
2
2
  UNSUBSCRIBEMessage = 'unsubscribe',
3
3
  CHARACTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
4
- READ_NODE_ADDRESS = 'https://read-node-01.transferchain.io',
5
- READ_NODE_WS_ADDRESS = 'wss://read-node-01.transferchain.io/ws'
4
+ READ_NODE_ADDRESS = 'https://test-read-node-01.transferchain.io',
5
+ READ_NODE_WS_ADDRESS = 'wss://test-read-node-01.transferchain.io/ws'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tchain/tcabci-read-js-client",
3
- "version": "2.5.8",
3
+ "version": "2.5.9",
4
4
  "description": "TransferChain Fastest Read Network WebSocket Client",
5
5
  "main": "client.js",
6
6
  "type": "module",
@@ -8,6 +8,17 @@
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/TransferChain/tcabci-read-js-client.git"
10
10
  },
11
+ "files": [
12
+ "*.d.ts",
13
+ "constants.js",
14
+ "client.js",
15
+ "errors.js",
16
+ "message.js",
17
+ "transaction.js",
18
+ "util.js",
19
+ "websocket.js",
20
+ "websocketOptions.js"
21
+ ],
11
22
  "author": "TransferChain A.G <info@transferchain.io>",
12
23
  "license": "Apache-2.0",
13
24
  "bugs": {
@@ -13,7 +13,7 @@ export class Options {
13
13
  _protocols = []
14
14
  _customWS
15
15
  _endpoints = ['ws', 'longpoll']
16
- _version = `v2.5.8`
16
+ _version = `v2.5.9`
17
17
 
18
18
  _maxConnectionDelay = 10000
19
19
  _minReconnectionDelay = 1000 + Math.random() * 4000
package/.editorconfig DELETED
@@ -1,9 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
package/.prettierrc DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "printWidth": 80,
3
- "tabWidth": 2,
4
- "useTabs": false,
5
- "singleQuote": true,
6
- "endOfLine": "lf",
7
- "trailingComma": "all",
8
- "semi": false,
9
- "bracketSameLine": false,
10
- "bracketSpacing": true,
11
- "proseWrap": "preserve",
12
- "arrowParens": "always",
13
- "htmlWhitespaceSensitivity": "ignore",
14
- "vueIndentScriptAndStyle": false,
15
- "singleAttributePerLine": false
16
- }
package/bytea.js DELETED
@@ -1,15 +0,0 @@
1
- export class Bytea {
2
- #bytes
3
- #status
4
- constructor(bytes, status) {
5
- this.#bytes = bytes
6
- this.#status = status
7
- }
8
-
9
- ToJSON() {
10
- return JSON.stringify({
11
- bytes: this.#bytes,
12
- status: this.#status,
13
- })
14
- }
15
- }