@tradelayerprotocol/tradelayer 1.9.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.
Files changed (249) hide show
  1. package/.claude/settings.local.json +13 -0
  2. package/.claude/skills/tl-algo/SKILL.md +255 -0
  3. package/.gitattributes +2 -0
  4. package/.github/workflows/publish.yaml +26 -0
  5. package/4mm.js +163 -0
  6. package/LICENSE +21 -0
  7. package/NPMSwapRefactor.zip +0 -0
  8. package/README.md +217 -0
  9. package/address.sh +26 -0
  10. package/algoAPI.js +581 -0
  11. package/analyzepsbt.js +92 -0
  12. package/apiEx.js +99 -0
  13. package/bb_hyperscalper.js +290 -0
  14. package/bbo_demo.js +111 -0
  15. package/buyer.js +622 -0
  16. package/client.js +50 -0
  17. package/createTxTest.js +26 -0
  18. package/createWallet.js +75 -0
  19. package/daytrader.js +531 -0
  20. package/decodeTest.js +69 -0
  21. package/fundingManager.js +144 -0
  22. package/index.js +4 -0
  23. package/listener.js +27 -0
  24. package/litecoreTxBuilder.js +1128 -0
  25. package/mmEx.js +356 -0
  26. package/networks.js +51 -0
  27. package/orderbook.js +200 -0
  28. package/package.json +34 -0
  29. package/perTradeQueue.js +36 -0
  30. package/projectsTLNPMTLNPM/package-lock.json +162 -0
  31. package/projectsTLNPMTLNPM/package.json +5 -0
  32. package/quick.js +32 -0
  33. package/quickFut.js +37 -0
  34. package/quickSell.js +37 -0
  35. package/relayerClient.js +117 -0
  36. package/run4mm.js +80 -0
  37. package/run_bbo_tracker.js +241 -0
  38. package/seller.js +443 -0
  39. package/session.js +45 -0
  40. package/setup-lin-ltc.sh +139 -0
  41. package/setup-lin.sh +203 -0
  42. package/setup-win-ltc.bat +108 -0
  43. package/setup-win.bat +167 -0
  44. package/spam_screamer_futures.js +222 -0
  45. package/tradelayer.js/.gitattributes +2 -0
  46. package/tradelayer.js/README.md +2 -0
  47. package/tradelayer.js/oldTests/activationTest.js +6 -0
  48. package/tradelayer.js/oldTests/base58.test.js +23 -0
  49. package/tradelayer.js/oldTests/base64Decode.test.js +16 -0
  50. package/tradelayer.js/oldTests/blocksRefactor.js +140 -0
  51. package/tradelayer.js/oldTests/checkVestBalance.js +25 -0
  52. package/tradelayer.js/oldTests/consensusHashProto.js +151 -0
  53. package/tradelayer.js/oldTests/contractOrderbook.js +243 -0
  54. package/tradelayer.js/oldTests/createPayload.js +0 -0
  55. package/tradelayer.js/oldTests/createTestnetAddr.js +43 -0
  56. package/tradelayer.js/oldTests/decode.js +205 -0
  57. package/tradelayer.js/oldTests/decodeTest.js +50 -0
  58. package/tradelayer.js/oldTests/displayTallyMap.js +19 -0
  59. package/tradelayer.js/oldTests/encodeDecode.js +340 -0
  60. package/tradelayer.js/oldTests/expressTest.js +29 -0
  61. package/tradelayer.js/oldTests/extractBlocksVanilla.js +214 -0
  62. package/tradelayer.js/oldTests/extractBlocksVanillaa.js +179 -0
  63. package/tradelayer.js/oldTests/extractPubkeyTest.js +60 -0
  64. package/tradelayer.js/oldTests/fillInputCacheProto.js +111 -0
  65. package/tradelayer.js/oldTests/getRawTxTest.js +22 -0
  66. package/tradelayer.js/oldTests/indexTest.js +26 -0
  67. package/tradelayer.js/oldTests/initTokensTest.js +32 -0
  68. package/tradelayer.js/oldTests/interfaceChild.js +129 -0
  69. package/tradelayer.js/oldTests/listenerChild.js +112 -0
  70. package/tradelayer.js/oldTests/opdecode.js +26 -0
  71. package/tradelayer.js/oldTests/options.js +79 -0
  72. package/tradelayer.js/oldTests/optxtest.js +116 -0
  73. package/tradelayer.js/oldTests/optxtest1.js +64 -0
  74. package/tradelayer.js/oldTests/oracle.test.js +32 -0
  75. package/tradelayer.js/oldTests/orderbook.test.js +36 -0
  76. package/tradelayer.js/oldTests/parsing.js +93 -0
  77. package/tradelayer.js/oldTests/payload.js +13 -0
  78. package/tradelayer.js/oldTests/persistenceUnitTest.js +23 -0
  79. package/tradelayer.js/oldTests/property.test.js +53 -0
  80. package/tradelayer.js/oldTests/propertyLevel.js +75 -0
  81. package/tradelayer.js/oldTests/propertyTest.js +32 -0
  82. package/tradelayer.js/oldTests/queryAddressTest.js +17 -0
  83. package/tradelayer.js/oldTests/salter.js +14 -0
  84. package/tradelayer.js/oldTests/tally.js +81 -0
  85. package/tradelayer.js/oldTests/tally.test.js +48 -0
  86. package/tradelayer.js/oldTests/tally2.js +124 -0
  87. package/tradelayer.js/oldTests/tally3.js +142 -0
  88. package/tradelayer.js/oldTests/tallyDiag.js +38 -0
  89. package/tradelayer.js/oldTests/testGetRaw.js +40 -0
  90. package/tradelayer.js/oldTests/testHexConvert.js +47 -0
  91. package/tradelayer.js/oldTests/testNewEncoding.js +96 -0
  92. package/tradelayer.js/oldTests/testNewEncoding2.js +113 -0
  93. package/tradelayer.js/oldTests/testNewEncoding3 +112 -0
  94. package/tradelayer.js/oldTests/testNewEncoding3.js +168 -0
  95. package/tradelayer.js/oldTests/testOPReturn.js +102 -0
  96. package/tradelayer.js/oldTests/testPayload.js +23 -0
  97. package/tradelayer.js/oldTests/testRaw.js +50 -0
  98. package/tradelayer.js/oldTests/testSendTooMuch.js +20 -0
  99. package/tradelayer.js/oldTests/testTxBuild +28 -0
  100. package/tradelayer.js/oldTests/testTxBuild.js +42 -0
  101. package/tradelayer.js/oldTests/tokenOrderbook.js +243 -0
  102. package/tradelayer.js/oldTests/txUtilsA.js +515 -0
  103. package/tradelayer.js/oldTests/validityUnitTest.js +53 -0
  104. package/tradelayer.js/oldTests/vaults.js +72 -0
  105. package/tradelayer.js/oldTests/volumeIndex.js +117 -0
  106. package/tradelayer.js/oldTests/volumeIndex2.js +88 -0
  107. package/tradelayer.js/output_base64.txt +1 -0
  108. package/tradelayer.js/package-lock.json +9967 -0
  109. package/tradelayer.js/package.json +61 -0
  110. package/tradelayer.js/server/index.js +88 -0
  111. package/tradelayer.js/server/litecoind.exe +0 -0
  112. package/tradelayer.js/src/activation.js +303 -0
  113. package/tradelayer.js/src/adjuster.js +77 -0
  114. package/tradelayer.js/src/amm.js +400 -0
  115. package/tradelayer.js/src/base256.js +55 -0
  116. package/tradelayer.js/src/base94.js +79 -0
  117. package/tradelayer.js/src/channels.js +1163 -0
  118. package/tradelayer.js/src/clearing.js +3109 -0
  119. package/tradelayer.js/src/clearlist.js +364 -0
  120. package/tradelayer.js/src/client.js +295 -0
  121. package/tradelayer.js/src/consensus.js +613 -0
  122. package/tradelayer.js/src/contractRegistry.js +964 -0
  123. package/tradelayer.js/src/db.js +89 -0
  124. package/tradelayer.js/src/init.js +24 -0
  125. package/tradelayer.js/src/insurance.js +347 -0
  126. package/tradelayer.js/src/interface.js +218 -0
  127. package/tradelayer.js/src/interfaceExpress.js +178 -0
  128. package/tradelayer.js/src/iou.js +509 -0
  129. package/tradelayer.js/src/listener.js +226 -0
  130. package/tradelayer.js/src/logic.js +1702 -0
  131. package/tradelayer.js/src/main.js +927 -0
  132. package/tradelayer.js/src/marginMap.js +2165 -0
  133. package/tradelayer.js/src/options.js +126 -0
  134. package/tradelayer.js/src/oracle.js +394 -0
  135. package/tradelayer.js/src/orderbook.js +4123 -0
  136. package/tradelayer.js/src/persistence.js +554 -0
  137. package/tradelayer.js/src/property.js +411 -0
  138. package/tradelayer.js/src/reOrg.js +41 -0
  139. package/tradelayer.js/src/scaling.js +145 -0
  140. package/tradelayer.js/src/tally.js +1275 -0
  141. package/tradelayer.js/src/tradeHistoryManager.js +552 -0
  142. package/tradelayer.js/src/txDecoder.js +584 -0
  143. package/tradelayer.js/src/txEncoder.js +610 -0
  144. package/tradelayer.js/src/txIndex.js +502 -0
  145. package/tradelayer.js/src/txUtils.js +1392 -0
  146. package/tradelayer.js/src/types.js +429 -0
  147. package/tradelayer.js/src/validity.js +3077 -0
  148. package/tradelayer.js/src/vaults.js +430 -0
  149. package/tradelayer.js/src/vesting.js +491 -0
  150. package/tradelayer.js/src/volumeIndex.js +618 -0
  151. package/tradelayer.js/src/walletInterface.js +220 -0
  152. package/tradelayer.js/src/walletListener.js +665 -0
  153. package/tradelayer.js/tests/256decode.js +82 -0
  154. package/tradelayer.js/tests/UTXOracle.js +205 -0
  155. package/tradelayer.js/tests/base94test.js +23 -0
  156. package/tradelayer.js/tests/cancelTxTest.js +62 -0
  157. package/tradelayer.js/tests/contractInterfaceTest.js +48 -0
  158. package/tradelayer.js/tests/decimalTest.js +65 -0
  159. package/tradelayer.js/tests/decoderTest.js +100 -0
  160. package/tradelayer.js/tests/deltaCount.js +47 -0
  161. package/tradelayer.js/tests/deltaCount2.js +60 -0
  162. package/tradelayer.js/tests/interfaceTest.js +37 -0
  163. package/tradelayer.js/tests/mainTest.js +53 -0
  164. package/tradelayer.js/tests/makeActivationTest.js +24 -0
  165. package/tradelayer.js/tests/maxHeightTest.js +49 -0
  166. package/tradelayer.js/tests/reverseHash.js +72 -0
  167. package/tradelayer.js/tests/sensitiveConsoleOutput.txt +267 -0
  168. package/tradelayer.js/tests/tallyTest.js +40 -0
  169. package/tradelayer.js/tests/testBuybacks.js +46 -0
  170. package/tradelayer.js/tests/testCodeHash.js +49 -0
  171. package/tradelayer.js/tests/testConsensusHash.js +91 -0
  172. package/tradelayer.js/tests/testDecode.js +30 -0
  173. package/tradelayer.js/tests/testEncodingLengths.js +129 -0
  174. package/tradelayer.js/tests/testGetTx +32 -0
  175. package/tradelayer.js/tests/testGetTx.js +32 -0
  176. package/tradelayer.js/tests/testHexHash.js +32 -0
  177. package/tradelayer.js/tests/testIndexHash.js +35 -0
  178. package/tradelayer.js/tests/testInitContracts.js +38 -0
  179. package/tradelayer.js/tests/testMaxConsensus.js +12 -0
  180. package/tradelayer.js/tests/testMaxSynth.js +44 -0
  181. package/tradelayer.js/tests/testMint.js +21 -0
  182. package/tradelayer.js/tests/testNetwork.js +33 -0
  183. package/tradelayer.js/tests/testOrderbookLoad.js +62 -0
  184. package/tradelayer.js/tests/testRebates.js +32 -0
  185. package/tradelayer.js/tests/testRedeem.js +22 -0
  186. package/tradelayer.js/tests/testTokenTrade.js +39 -0
  187. package/tradelayer.js/tests/testTxBuild.js +42 -0
  188. package/tradelayer.js/tests/testUTXOTrade.js +27 -0
  189. package/tradelayer.js/tests/tokenTradeHistory.js +27 -0
  190. package/tradelayer.js/tests/tradeFutures.js +40 -0
  191. package/tradelayer.js/tests/tradeHistoryExample.js +35 -0
  192. package/tradelayer.js/tests/tradeHistoryLoad.js +15 -0
  193. package/tradelayer.js/tests/txScanTest.js +134 -0
  194. package/tradelayer.js/tests/validateTest.js +136 -0
  195. package/tradelayer.js/tests/vestingTest.js +37 -0
  196. package/tradelayer.js/utils/activateMainnet.js +59 -0
  197. package/tradelayer.js/utils/activateMainnetDoge.js +63 -0
  198. package/tradelayer.js/utils/autocompactdb.js +23 -0
  199. package/tradelayer.js/utils/base64toHex.js +32 -0
  200. package/tradelayer.js/utils/broadcastDoge.js +38 -0
  201. package/tradelayer.js/utils/calcRedeem.js +19 -0
  202. package/tradelayer.js/utils/checkNetwork.js +27 -0
  203. package/tradelayer.js/utils/createAddress.js +48 -0
  204. package/tradelayer.js/utils/createAttestation.js +133 -0
  205. package/tradelayer.js/utils/createContract.js +118 -0
  206. package/tradelayer.js/utils/createOracle.js +94 -0
  207. package/tradelayer.js/utils/createwallet.js +20 -0
  208. package/tradelayer.js/utils/crossFuturesTrades.js +57 -0
  209. package/tradelayer.js/utils/crossTokenTrades.js +62 -0
  210. package/tradelayer.js/utils/dumpPriv.js +29 -0
  211. package/tradelayer.js/utils/generateChannel.js +34 -0
  212. package/tradelayer.js/utils/getInfo.js +21 -0
  213. package/tradelayer.js/utils/hardWipe.js +20 -0
  214. package/tradelayer.js/utils/hexTo64.js +16 -0
  215. package/tradelayer.js/utils/importAddress.js +28 -0
  216. package/tradelayer.js/utils/importpriv.js +20 -0
  217. package/tradelayer.js/utils/issueOracleContract.js +67 -0
  218. package/tradelayer.js/utils/issueTokens.js +41 -0
  219. package/tradelayer.js/utils/listunspent.js +66 -0
  220. package/tradelayer.js/utils/litecoinClient.js +30 -0
  221. package/tradelayer.js/utils/loadwallet.js +20 -0
  222. package/tradelayer.js/utils/publishOracle.js +113 -0
  223. package/tradelayer.js/utils/sendActivation.js +21 -0
  224. package/tradelayer.js/utils/sendChannelContractTrade.js +34 -0
  225. package/tradelayer.js/utils/sendChannelTokenTrade.js +34 -0
  226. package/tradelayer.js/utils/sendCommit.js +24 -0
  227. package/tradelayer.js/utils/sendDoge.js +62 -0
  228. package/tradelayer.js/utils/sendDogeMain.js +67 -0
  229. package/tradelayer.js/utils/sendDogeTx.js +46 -0
  230. package/tradelayer.js/utils/sendLTC.js +63 -0
  231. package/tradelayer.js/utils/sendMainnet.js +62 -0
  232. package/tradelayer.js/utils/sendTransfer.js +19 -0
  233. package/tradelayer.js/utils/sendVestTest.js +88 -0
  234. package/tradelayer.js/utils/sendWithdrawal.js +26 -0
  235. package/tradelayer.js/utils/simpleStart.js +8 -0
  236. package/tradelayer.js/utils/startStop.js +27 -0
  237. package/tradelayer.js/utils/structuredTrades.js +136 -0
  238. package/tradelayer.js/utils/verifySignature.js +90 -0
  239. package/tradelayer.js/utils/verifyWitnessAndScriptPubkey.js +41 -0
  240. package/tradelayer.js/utils/walletCache.js +172 -0
  241. package/tradelayer.js/utils/walletContractInterface.js +48 -0
  242. package/tradelayer.js/utils/walletFetchTxs.js +66 -0
  243. package/tradelayer.js/utils/walletUtils.js +97 -0
  244. package/tradelayer.js/utils/wipeDB.js +55 -0
  245. package/tradelayer.js/utils/wipeDBNotTx.js +50 -0
  246. package/txEncoder.js +529 -0
  247. package/utility.js +28 -0
  248. package/verifymessage.js +38 -0
  249. package/ws-transport.js +311 -0
@@ -0,0 +1,220 @@
1
+ const axios = require('axios');
2
+ const serverUrl = 'http://localhost:3000'; // Adjust the server URL as needed
3
+
4
+ const DEFAULT_RELAYER_HOST = '170.75.168.246';
5
+ const DEFAULT_RELAYER_PORT = 8000;
6
+ let relayerUrl = `http://${DEFAULT_RELAYER_HOST}:${DEFAULT_RELAYER_PORT}`;
7
+ let useRelayer = false;
8
+
9
+ /**
10
+ * Call serverUrl first; on connection error, switch to relayer and retry.
11
+ * The relayer exposes TL methods under /rpc/:method
12
+ */
13
+ async function callWithFallback(method, requestFn) {
14
+ if (useRelayer) {
15
+ return requestFn(relayerUrl);
16
+ }
17
+ try {
18
+ return await requestFn(serverUrl);
19
+ } catch (err) {
20
+ const code = err.code || err?.cause?.code;
21
+ if (code === 'ECONNREFUSED' || code === 'ECONNRESET' || code === 'ETIMEDOUT') {
22
+ console.log(`[walletInterface] Local server failed (${code}), switching to relayer at ${relayerUrl}`);
23
+ useRelayer = true;
24
+ return requestFn(relayerUrl);
25
+ }
26
+ throw err;
27
+ }
28
+ }
29
+
30
+ const expressInterface = {
31
+ /**
32
+ * Override relayer target at runtime.
33
+ */
34
+ setRelayerUrl(host, port) {
35
+ relayerUrl = `http://${host || DEFAULT_RELAYER_HOST}:${port || DEFAULT_RELAYER_PORT}`;
36
+ },
37
+
38
+ /** Force relayer mode on/off */
39
+ setUseRelayer(val) { useRelayer = !!val; },
40
+
41
+ async initMain() {
42
+ return callWithFallback('tl_initmain', async (base) => {
43
+ const response = await axios.post(`${base}/tl_initmain`, { test: true });
44
+ console.log(response.data);
45
+ return response;
46
+ });
47
+ },
48
+
49
+ async listProperties() {
50
+ return callWithFallback('tl_listproperties', async (base) => {
51
+ const response = await axios.post(`${base}/tl_listproperties`);
52
+ return response.data;
53
+ });
54
+ },
55
+
56
+ async getContractInfo(contractId) {
57
+ return callWithFallback('tl_getContractInfo', async (base) => {
58
+ const response = await axios.get(`${base}/tl_getContractInfo`, {
59
+ params: { contractId }
60
+ });
61
+ return response.data;
62
+ });
63
+ },
64
+
65
+ async getInitialMargin(contractId, price) {
66
+ return callWithFallback('tl_getInitMargin', async (base) => {
67
+ const response = await axios.get(`${base}/tl_getInitMargin`, {
68
+ params: { contractId, price }
69
+ });
70
+ return Number(response.data);
71
+ });
72
+ },
73
+
74
+ async getAllBalancesForAddress(address) {
75
+ return callWithFallback('tl_getAllBalancesForAddress', async (base) => {
76
+ if (base === serverUrl) {
77
+ const response = await axios.post(`${base}/tl_getAllBalancesForAddress`, { params: address });
78
+ return response.data;
79
+ }
80
+ // Relayer uses /rpc/:method with params array
81
+ const response = await axios.post(`${base}/rpc/tl_getallbalancesforaddress`, { params: [address] });
82
+ return response.data?.data !== undefined ? response.data.data : response.data;
83
+ });
84
+ },
85
+
86
+ async getActivations() {
87
+ return callWithFallback('tl_getactivations', async (base) => {
88
+ const response = await axios.post(`${base}/tl_getactivations`);
89
+ return response.data;
90
+ });
91
+ },
92
+
93
+ async getOrderBook(params) {
94
+ const { id1, id2 } = params;
95
+ return callWithFallback('tl_getorderbook', async (base) => {
96
+ if (base === serverUrl) {
97
+ const response = await axios.post(`${base}/tl_getorderbook`, { propertyId1: id1, propertyId2: id2 });
98
+ return response.data;
99
+ }
100
+ const response = await axios.post(`${base}/rpc/tl_getorderbook`, { params: [id1, id2] });
101
+ return response.data?.data !== undefined ? response.data.data : response.data;
102
+ });
103
+ },
104
+
105
+ async getContractOrderBook(params) {
106
+ const { id } = params;
107
+ return callWithFallback('tl_getcontractorderbook', async (base) => {
108
+ if (base === serverUrl) {
109
+ const response = await axios.post(`${base}/tl_getcontractorderbook`, { contractId: id });
110
+ return response.data;
111
+ }
112
+ const response = await axios.post(`${base}/rpc/tl_getcontractorderbook`, { params: [id] });
113
+ return response.data?.data !== undefined ? response.data.data : response.data;
114
+ });
115
+ },
116
+
117
+ async listContractSeries() {
118
+ return callWithFallback('tl_listContractSeries', async (base) => {
119
+ if (base === serverUrl) {
120
+ const response = await axios.post(`${base}/tl_listcontractseries`);
121
+ return response.data;
122
+ }
123
+ const response = await axios.post(`${base}/tl_listContractSeries`, {});
124
+ return response.data;
125
+ });
126
+ },
127
+
128
+ async listOracles() {
129
+ return callWithFallback('tl_listoracles', async (base) => {
130
+ const response = await axios.post(`${base}/tl_listoracles`);
131
+ return response.data;
132
+ });
133
+ },
134
+
135
+ async getColumn(params) {
136
+ const { channel, addressA, addressB } = params;
137
+ return callWithFallback('tl_getChannelColumn', async (base) => {
138
+ const response = await axios.post(`${base}/tl_getChannelColumn`, {
139
+ params: { channel, addressA, addressB }
140
+ });
141
+ return response.data;
142
+ });
143
+ },
144
+
145
+ async getContractPositionForAddressAndContractId(params) {
146
+ const { address, contractId } = params;
147
+ return callWithFallback('tl_contractPosition', async (base) => {
148
+ if (base === serverUrl) {
149
+ const response = await axios.get(`${base}/tl_contractPosition`, { params: { address, contractId } });
150
+ return response.data;
151
+ }
152
+ const response = await axios.post(`${base}/rpc/tl_contractPosition`, { params: [address, contractId] });
153
+ return response.data?.data !== undefined ? response.data.data : response.data;
154
+ });
155
+ },
156
+
157
+ async getTradeHistory(params) {
158
+ const { propertyId1, propertyId2 } = params;
159
+ return callWithFallback('tl_tradehistory', async (base) => {
160
+ if (base === serverUrl) {
161
+ const response = await axios.get(`${base}/tl_tradehistory`, { params: { propertyId1, propertyId2 } });
162
+ return response.data;
163
+ }
164
+ const response = await axios.post(`${base}/rpc/tl_tokenTradeHistoryForAddress`, { params: [propertyId1, propertyId2] });
165
+ return response.data?.data !== undefined ? response.data.data : response.data;
166
+ });
167
+ },
168
+
169
+ async getContractTradeHistory(params) {
170
+ const { contractId } = params;
171
+ return callWithFallback('tl_contracttradehistory', async (base) => {
172
+ if (base === serverUrl) {
173
+ const response = await axios.get(`${base}/tl_contracttradehistory`, { params: { contractId } });
174
+ return response.data;
175
+ }
176
+ const response = await axios.post(`${base}/rpc/tl_contractTradeHistoryForAddress`, { params: [contractId] });
177
+ return response.data?.data !== undefined ? response.data.data : response.data;
178
+ });
179
+ },
180
+
181
+ async getFundingHistory(params) {
182
+ const { contractId } = params;
183
+ return callWithFallback('tl_fundinghistory', async (base) => {
184
+ const response = await axios.get(`${base}/tl_fundinghistory`, { params: { contractId } });
185
+ return response.data;
186
+ });
187
+ },
188
+
189
+ async getOracleHistory(params) {
190
+ const { oracleId } = params;
191
+ return callWithFallback('tl_oraclehistory', async (base) => {
192
+ const response = await axios.get(`${base}/tl_oraclehistory`, { params: { oracleId } });
193
+ return response.data;
194
+ });
195
+ },
196
+
197
+ async getMaxProcessedHeight() {
198
+ return callWithFallback('tl_getMaxProcessedHeight', async (base) => {
199
+ const response = await axios.post(`${base}/tl_getMaxProcessedHeight`, {});
200
+ return response.data;
201
+ });
202
+ },
203
+
204
+ async getTrackHeight() {
205
+ return callWithFallback('tl_getTrackHeight', async (base) => {
206
+ const response = await axios.post(`${base}/tl_getTrackHeight`, {});
207
+ return response.data;
208
+ });
209
+ },
210
+
211
+ async checkSync() {
212
+ return callWithFallback('tl_checkSync', async (base) => {
213
+ const response = await axios.post(`${base}/tl_checkSync`, {});
214
+ return response.data;
215
+ });
216
+ }
217
+
218
+ }
219
+
220
+ module.exports= expressInterface