@caict/bop-typescript-sdk 1.0.2 → 1.0.4

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 (256) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/base.tsconfig.json +14 -0
  3. package/dist/bop/bop-base/base.d.ts +24 -0
  4. package/dist/bop/bop-base/base.js +253 -0
  5. package/dist/bop/bop-base/base.js.map +1 -0
  6. package/dist/bop/bop-base/index.d.ts +18 -0
  7. package/dist/bop/bop-base/index.js +69 -0
  8. package/dist/bop/bop-base/index.js.map +1 -0
  9. package/dist/bop/bop-base/permit.d.ts +11 -0
  10. package/dist/bop/bop-base/permit.js +104 -0
  11. package/dist/bop/bop-base/permit.js.map +1 -0
  12. package/dist/bop/bop-base/test/base.test.d.ts +1 -0
  13. package/dist/bop/bop-base/test/base.test.js +772 -0
  14. package/dist/bop/bop-base/test/base.test.js.map +1 -0
  15. package/dist/bop/bop-base/test/index.test.d.ts +1 -0
  16. package/dist/bop/bop-base/test/index.test.js +89 -0
  17. package/dist/bop/bop-base/test/index.test.js.map +1 -0
  18. package/dist/bop/bop-base/test/permit.test.d.ts +1 -0
  19. package/dist/bop/bop-base/test/permit.test.js +140 -0
  20. package/dist/bop/bop-base/test/permit.test.js.map +1 -0
  21. package/dist/bop/bop-proto/bop-ws.d.ts +325 -0
  22. package/dist/bop/bop-proto/bop-ws.js +3599 -0
  23. package/dist/bop/bop-proto/bop-ws.js.map +1 -0
  24. package/dist/bop/bop-proto/bop.d.ts +903 -0
  25. package/dist/bop/bop-proto/bop.js +10421 -0
  26. package/dist/bop/bop-proto/bop.js.map +1 -0
  27. package/dist/bop/bop-ws/index.d.ts +43 -0
  28. package/dist/bop/bop-ws/index.js +265 -0
  29. package/dist/bop/bop-ws/index.js.map +1 -0
  30. package/dist/bop/bop-ws/sample/sample.d.ts +1 -0
  31. package/dist/bop/bop-ws/sample/sample.js +96 -0
  32. package/dist/bop/bop-ws/sample/sample.js.map +1 -0
  33. package/dist/bop/index.d.ts +5 -0
  34. package/dist/bop/index.js +37 -0
  35. package/dist/bop/index.js.map +1 -0
  36. package/dist/bop-sdk/index.d.ts +13 -0
  37. package/dist/bop-sdk/index.js +45 -0
  38. package/dist/bop-sdk/index.js.map +1 -0
  39. package/dist/bop-sdk/interface/abstract-service/abstract-account.d.ts +8 -0
  40. package/dist/bop-sdk/interface/abstract-service/abstract-account.js +7 -0
  41. package/dist/bop-sdk/interface/abstract-service/abstract-account.js.map +1 -0
  42. package/dist/bop-sdk/interface/abstract-service/abstract-chain.d.ts +5 -0
  43. package/dist/bop-sdk/interface/abstract-service/abstract-chain.js +7 -0
  44. package/dist/bop-sdk/interface/abstract-service/abstract-chain.js.map +1 -0
  45. package/dist/bop-sdk/interface/abstract-service/abstract-contract.d.ts +6 -0
  46. package/dist/bop-sdk/interface/abstract-service/abstract-contract.js +7 -0
  47. package/dist/bop-sdk/interface/abstract-service/abstract-contract.js.map +1 -0
  48. package/dist/bop-sdk/interface/abstract-service/abstract-ledger.d.ts +8 -0
  49. package/dist/bop-sdk/interface/abstract-service/abstract-ledger.js +7 -0
  50. package/dist/bop-sdk/interface/abstract-service/abstract-ledger.js.map +1 -0
  51. package/dist/bop-sdk/interface/abstract-service/abstract-provider.d.ts +12 -0
  52. package/dist/bop-sdk/interface/abstract-service/abstract-provider.js +7 -0
  53. package/dist/bop-sdk/interface/abstract-service/abstract-provider.js.map +1 -0
  54. package/dist/bop-sdk/interface/abstract-service/abstract-signer.d.ts +17 -0
  55. package/dist/bop-sdk/interface/abstract-service/abstract-signer.js +109 -0
  56. package/dist/bop-sdk/interface/abstract-service/abstract-signer.js.map +1 -0
  57. package/dist/bop-sdk/interface/abstract-service/abstract-transaction.d.ts +17 -0
  58. package/dist/bop-sdk/interface/abstract-service/abstract-transaction.js +7 -0
  59. package/dist/bop-sdk/interface/abstract-service/abstract-transaction.js.map +1 -0
  60. package/dist/bop-sdk/interface/provider-ws.d.ts +5 -0
  61. package/dist/bop-sdk/interface/provider-ws.js +12 -0
  62. package/dist/bop-sdk/interface/provider-ws.js.map +1 -0
  63. package/dist/bop-sdk/interface/provider.d.ts +7 -0
  64. package/dist/bop-sdk/interface/provider.js +23 -0
  65. package/dist/bop-sdk/interface/provider.js.map +1 -0
  66. package/dist/bop-sdk/interface/service/3rd.d.ts +12 -0
  67. package/dist/bop-sdk/interface/service/3rd.js +49 -0
  68. package/dist/bop-sdk/interface/service/3rd.js.map +1 -0
  69. package/dist/bop-sdk/interface/service/account.d.ts +12 -0
  70. package/dist/bop-sdk/interface/service/account.js +98 -0
  71. package/dist/bop-sdk/interface/service/account.js.map +1 -0
  72. package/dist/bop-sdk/interface/service/chain.d.ts +9 -0
  73. package/dist/bop-sdk/interface/service/chain.js +55 -0
  74. package/dist/bop-sdk/interface/service/chain.js.map +1 -0
  75. package/dist/bop-sdk/interface/service/contract.d.ts +10 -0
  76. package/dist/bop-sdk/interface/service/contract.js +67 -0
  77. package/dist/bop-sdk/interface/service/contract.js.map +1 -0
  78. package/dist/bop-sdk/interface/service/helper.d.ts +20 -0
  79. package/dist/bop-sdk/interface/service/helper.js +383 -0
  80. package/dist/bop-sdk/interface/service/helper.js.map +1 -0
  81. package/dist/bop-sdk/interface/service/ledger.d.ts +12 -0
  82. package/dist/bop-sdk/interface/service/ledger.js +89 -0
  83. package/dist/bop-sdk/interface/service/ledger.js.map +1 -0
  84. package/dist/bop-sdk/interface/service/offline/check/index.js +138 -0
  85. package/dist/bop-sdk/interface/service/offline/common/constant.js +6 -0
  86. package/dist/bop-sdk/interface/service/offline/common/snowFlakeUtils.js +192 -0
  87. package/dist/bop-sdk/interface/service/offline/common/util.js +511 -0
  88. package/dist/bop-sdk/interface/service/offline/exception/customErrors.js +29 -0
  89. package/dist/bop-sdk/interface/service/offline/exception/errors.js +90 -0
  90. package/dist/bop-sdk/interface/service/offline/exception/index.js +5 -0
  91. package/dist/bop-sdk/interface/service/offline/operation/accountCreateOperation.js +28 -0
  92. package/dist/bop-sdk/interface/service/offline/operation/accountSetMetadataOperation.js +44 -0
  93. package/dist/bop-sdk/interface/service/offline/operation/accountSetPrivilegeOperation.js +49 -0
  94. package/dist/bop-sdk/interface/service/offline/operation/contractCreateOperation.js +43 -0
  95. package/dist/bop-sdk/interface/service/offline/operation/contractInvokeOperation.js +42 -0
  96. package/dist/bop-sdk/interface/service/offline/operation/contractInvokeRequestOperation.js +69 -0
  97. package/dist/bop-sdk/interface/service/offline/operation/gasSendOperation.js +29 -0
  98. package/dist/bop-sdk/interface/service/offline/operation/gasSendRequestOperation.js +61 -0
  99. package/dist/bop-sdk/interface/service/offline/operation/index.js +20 -0
  100. package/dist/bop-sdk/interface/service/offline/proto/chain_pb.js +12079 -0
  101. package/dist/bop-sdk/interface/service/offline/proto/common_pb.js +2867 -0
  102. package/dist/bop-sdk/interface/service/offline/transaction/index.js +988 -0
  103. package/dist/bop-sdk/interface/service/offline/transaction/operations.js +188 -0
  104. package/dist/bop-sdk/interface/service/offline/validate/account.js +152 -0
  105. package/dist/bop-sdk/interface/service/offline/validate/contract.js +101 -0
  106. package/dist/bop-sdk/interface/service/offline/validate/index.js +10 -0
  107. package/dist/bop-sdk/interface/service/offline/validate/transaction.js +51 -0
  108. package/dist/bop-sdk/interface/service/transaction.d.ts +21 -0
  109. package/dist/bop-sdk/interface/service/transaction.js +591 -0
  110. package/dist/bop-sdk/interface/service/transaction.js.map +1 -0
  111. package/dist/bop-sdk/interface/signer.d.ts +12 -0
  112. package/dist/bop-sdk/interface/signer.js +53 -0
  113. package/dist/bop-sdk/interface/signer.js.map +1 -0
  114. package/dist/bop-sdk/interface/test/3rd.test.d.ts +1 -0
  115. package/dist/bop-sdk/interface/test/3rd.test.js +1524 -0
  116. package/dist/bop-sdk/interface/test/3rd.test.js.map +1 -0
  117. package/dist/bop-sdk/interface/test/account.test.d.ts +1 -0
  118. package/dist/bop-sdk/interface/test/account.test.js +225 -0
  119. package/dist/bop-sdk/interface/test/account.test.js.map +1 -0
  120. package/dist/bop-sdk/interface/test/chain.test.d.ts +1 -0
  121. package/dist/bop-sdk/interface/test/chain.test.js +72 -0
  122. package/dist/bop-sdk/interface/test/chain.test.js.map +1 -0
  123. package/dist/bop-sdk/interface/test/contract.test.d.ts +1 -0
  124. package/dist/bop-sdk/interface/test/contract.test.js +266 -0
  125. package/dist/bop-sdk/interface/test/contract.test.js.map +1 -0
  126. package/dist/bop-sdk/interface/test/ledger.test.d.ts +1 -0
  127. package/dist/bop-sdk/interface/test/ledger.test.js +167 -0
  128. package/dist/bop-sdk/interface/test/ledger.test.js.map +1 -0
  129. package/dist/bop-sdk/interface/test/provider.test.d.ts +1 -0
  130. package/dist/bop-sdk/interface/test/provider.test.js +295 -0
  131. package/dist/bop-sdk/interface/test/provider.test.js.map +1 -0
  132. package/dist/bop-sdk/interface/test/signer.test.d.ts +1 -0
  133. package/dist/bop-sdk/interface/test/signer.test.js +87 -0
  134. package/dist/bop-sdk/interface/test/signer.test.js.map +1 -0
  135. package/dist/bop-sdk/interface/test/transaction.test.d.ts +1 -0
  136. package/dist/bop-sdk/interface/test/transaction.test.js +663 -0
  137. package/dist/bop-sdk/interface/test/transaction.test.js.map +1 -0
  138. package/dist/bop-sdk/proto/bop-sdk-common.d.ts +225 -0
  139. package/dist/bop-sdk/proto/bop-sdk-common.js +831 -0
  140. package/dist/bop-sdk/proto/bop-sdk-common.js.map +1 -0
  141. package/dist/bop-sdk/proto/bop-sdk-interface.d.ts +623 -0
  142. package/dist/bop-sdk/proto/bop-sdk-interface.js +8623 -0
  143. package/dist/bop-sdk/proto/bop-sdk-interface.js.map +1 -0
  144. package/dist/bop-sdk/proto/bop-sdk-utils.d.ts +107 -0
  145. package/dist/bop-sdk/proto/bop-sdk-utils.js +1160 -0
  146. package/dist/bop-sdk/proto/bop-sdk-utils.js.map +1 -0
  147. package/dist/bop-sdk/utils/abi/abi-coder.d.ts +16 -0
  148. package/dist/bop-sdk/utils/abi/abi-coder.js +101 -0
  149. package/dist/bop-sdk/utils/abi/abi-coder.js.map +1 -0
  150. package/dist/bop-sdk/utils/abi/address.d.ts +8 -0
  151. package/dist/bop-sdk/utils/abi/address.js +116 -0
  152. package/dist/bop-sdk/utils/abi/address.js.map +1 -0
  153. package/dist/bop-sdk/utils/abi/bignumber.d.ts +39 -0
  154. package/dist/bop-sdk/utils/abi/bignumber.js +316 -0
  155. package/dist/bop-sdk/utils/abi/bignumber.js.map +1 -0
  156. package/dist/bop-sdk/utils/abi/bytes.d.ts +41 -0
  157. package/dist/bop-sdk/utils/abi/bytes.js +423 -0
  158. package/dist/bop-sdk/utils/abi/bytes.js.map +1 -0
  159. package/dist/bop-sdk/utils/abi/coders/abstract-coder.d.ts +52 -0
  160. package/dist/bop-sdk/utils/abi/coders/abstract-coder.js +164 -0
  161. package/dist/bop-sdk/utils/abi/coders/abstract-coder.js.map +1 -0
  162. package/dist/bop-sdk/utils/abi/coders/address.d.ts +7 -0
  163. package/dist/bop-sdk/utils/abi/coders/address.js +52 -0
  164. package/dist/bop-sdk/utils/abi/coders/address.js.map +1 -0
  165. package/dist/bop-sdk/utils/abi/coders/anonymous.d.ts +8 -0
  166. package/dist/bop-sdk/utils/abi/coders/anonymous.js +22 -0
  167. package/dist/bop-sdk/utils/abi/coders/anonymous.js.map +1 -0
  168. package/dist/bop-sdk/utils/abi/coders/array.d.ts +13 -0
  169. package/dist/bop-sdk/utils/abi/coders/array.js +220 -0
  170. package/dist/bop-sdk/utils/abi/coders/array.js.map +1 -0
  171. package/dist/bop-sdk/utils/abi/coders/boolean.d.ts +7 -0
  172. package/dist/bop-sdk/utils/abi/coders/boolean.js +20 -0
  173. package/dist/bop-sdk/utils/abi/coders/boolean.js.map +1 -0
  174. package/dist/bop-sdk/utils/abi/coders/bytes.d.ts +11 -0
  175. package/dist/bop-sdk/utils/abi/coders/bytes.js +33 -0
  176. package/dist/bop-sdk/utils/abi/coders/bytes.js.map +1 -0
  177. package/dist/bop-sdk/utils/abi/coders/fixed-bytes.d.ts +9 -0
  178. package/dist/bop-sdk/utils/abi/coders/fixed-bytes.js +28 -0
  179. package/dist/bop-sdk/utils/abi/coders/fixed-bytes.js.map +1 -0
  180. package/dist/bop-sdk/utils/abi/coders/null.d.ts +7 -0
  181. package/dist/bop-sdk/utils/abi/coders/null.js +24 -0
  182. package/dist/bop-sdk/utils/abi/coders/null.js.map +1 -0
  183. package/dist/bop-sdk/utils/abi/coders/number.d.ts +10 -0
  184. package/dist/bop-sdk/utils/abi/coders/number.js +45 -0
  185. package/dist/bop-sdk/utils/abi/coders/number.js.map +1 -0
  186. package/dist/bop-sdk/utils/abi/coders/string.d.ts +8 -0
  187. package/dist/bop-sdk/utils/abi/coders/string.js +21 -0
  188. package/dist/bop-sdk/utils/abi/coders/string.js.map +1 -0
  189. package/dist/bop-sdk/utils/abi/coders/tuple.d.ts +10 -0
  190. package/dist/bop-sdk/utils/abi/coders/tuple.js +60 -0
  191. package/dist/bop-sdk/utils/abi/coders/tuple.js.map +1 -0
  192. package/dist/bop-sdk/utils/abi/constants/addresses.d.ts +1 -0
  193. package/dist/bop-sdk/utils/abi/constants/addresses.js +5 -0
  194. package/dist/bop-sdk/utils/abi/constants/addresses.js.map +1 -0
  195. package/dist/bop-sdk/utils/abi/constants/bignumbers.d.ts +10 -0
  196. package/dist/bop-sdk/utils/abi/constants/bignumbers.js +21 -0
  197. package/dist/bop-sdk/utils/abi/constants/bignumbers.js.map +1 -0
  198. package/dist/bop-sdk/utils/abi/constants/hashes.d.ts +1 -0
  199. package/dist/bop-sdk/utils/abi/constants/hashes.js +5 -0
  200. package/dist/bop-sdk/utils/abi/constants/hashes.js.map +1 -0
  201. package/dist/bop-sdk/utils/abi/constants/index.d.ts +4 -0
  202. package/dist/bop-sdk/utils/abi/constants/index.js +19 -0
  203. package/dist/bop-sdk/utils/abi/constants/index.js.map +1 -0
  204. package/dist/bop-sdk/utils/abi/constants/strings.d.ts +1 -0
  205. package/dist/bop-sdk/utils/abi/constants/strings.js +6 -0
  206. package/dist/bop-sdk/utils/abi/constants/strings.js.map +1 -0
  207. package/dist/bop-sdk/utils/abi/fragments.d.ts +84 -0
  208. package/dist/bop-sdk/utils/abi/fragments.js +919 -0
  209. package/dist/bop-sdk/utils/abi/fragments.js.map +1 -0
  210. package/dist/bop-sdk/utils/abi/id.d.ts +1 -0
  211. package/dist/bop-sdk/utils/abi/id.js +10 -0
  212. package/dist/bop-sdk/utils/abi/id.js.map +1 -0
  213. package/dist/bop-sdk/utils/abi/index.d.ts +4 -0
  214. package/dist/bop-sdk/utils/abi/index.js +21 -0
  215. package/dist/bop-sdk/utils/abi/index.js.map +1 -0
  216. package/dist/bop-sdk/utils/abi/interface.d.ts +83 -0
  217. package/dist/bop-sdk/utils/abi/interface.js +663 -0
  218. package/dist/bop-sdk/utils/abi/interface.js.map +1 -0
  219. package/dist/bop-sdk/utils/abi/keccak256.d.ts +2 -0
  220. package/dist/bop-sdk/utils/abi/keccak256.js +13 -0
  221. package/dist/bop-sdk/utils/abi/keccak256.js.map +1 -0
  222. package/dist/bop-sdk/utils/abi/properties.d.ts +16 -0
  223. package/dist/bop-sdk/utils/abi/properties.js +141 -0
  224. package/dist/bop-sdk/utils/abi/properties.js.map +1 -0
  225. package/dist/bop-sdk/utils/abi/strings/bytes32.d.ts +3 -0
  226. package/dist/bop-sdk/utils/abi/strings/bytes32.js +36 -0
  227. package/dist/bop-sdk/utils/abi/strings/bytes32.js.map +1 -0
  228. package/dist/bop-sdk/utils/abi/strings/idna.d.ts +4 -0
  229. package/dist/bop-sdk/utils/abi/strings/idna.js +200 -0
  230. package/dist/bop-sdk/utils/abi/strings/idna.js.map +1 -0
  231. package/dist/bop-sdk/utils/abi/strings/index.d.ts +4 -0
  232. package/dist/bop-sdk/utils/abi/strings/index.js +17 -0
  233. package/dist/bop-sdk/utils/abi/strings/index.js.map +1 -0
  234. package/dist/bop-sdk/utils/abi/strings/utf8.d.ts +26 -0
  235. package/dist/bop-sdk/utils/abi/strings/utf8.js +265 -0
  236. package/dist/bop-sdk/utils/abi/strings/utf8.js.map +1 -0
  237. package/dist/bop-sdk/utils/encryption-address.d.ts +25 -0
  238. package/dist/bop-sdk/utils/encryption-address.js +426 -0
  239. package/dist/bop-sdk/utils/encryption-address.js.map +1 -0
  240. package/dist/bop-sdk/utils/encryption-crypto.d.ts +16 -0
  241. package/dist/bop-sdk/utils/encryption-crypto.js +406 -0
  242. package/dist/bop-sdk/utils/encryption-crypto.js.map +1 -0
  243. package/dist/bop-sdk/utils/encryption-mnemonics.d.ts +7 -0
  244. package/dist/bop-sdk/utils/encryption-mnemonics.js +129 -0
  245. package/dist/bop-sdk/utils/encryption-mnemonics.js.map +1 -0
  246. package/dist/bop-sdk/utils/index.d.ts +13 -0
  247. package/dist/bop-sdk/utils/index.js +22 -0
  248. package/dist/bop-sdk/utils/index.js.map +1 -0
  249. package/dist/bop-sdk/utils/logger.d.ts +52 -0
  250. package/dist/bop-sdk/utils/logger.js +377 -0
  251. package/dist/bop-sdk/utils/logger.js.map +1 -0
  252. package/dist/index.d.ts +4 -0
  253. package/dist/index.js +18 -0
  254. package/dist/index.js.map +1 -0
  255. package/package.json +91 -87
  256. package/tsconfig.json +24 -0
@@ -0,0 +1,43 @@
1
+ import { MessageType } from "../bop-proto/bop-ws";
2
+ export declare class WsConfig {
3
+ readonly url: string;
4
+ readonly heartBeatInterval: number;
5
+ constructor(url: string, heartBeatInterval?: number);
6
+ }
7
+ interface Callback {
8
+ (data: any): void;
9
+ }
10
+ type SubscribableMessageType = Exclude<MessageType, MessageType.HEARTBEAT | MessageType.ERROR>;
11
+ export declare class BopWsInterface {
12
+ private readonly interval;
13
+ private heartbeatInterval?;
14
+ private wsUrl;
15
+ private socket;
16
+ private subscriptions;
17
+ private readyPromise;
18
+ private readyResolve;
19
+ private reconnectAttempts;
20
+ private maxReconnectAttempts;
21
+ private reconnectWaitTime;
22
+ private connectionTimeout;
23
+ private isManuallyDisconnected;
24
+ constructor(url: string, interval: number);
25
+ waitForReady(): Promise<void>;
26
+ private setupEventListeners;
27
+ private handleConnectionClose;
28
+ private startHeartbeat;
29
+ private stopHeartbeat;
30
+ private sendHeartbeat;
31
+ private startsWithDidBid;
32
+ private sendMessage;
33
+ subscribe(type: SubscribableMessageType, callback: Callback, accounts?: string[]): Promise<string>;
34
+ unsubscribe(type: SubscribableMessageType, subscriptionId: string): Promise<void>;
35
+ unsubscribeAll(): Promise<void>;
36
+ disconnect(): Promise<void>;
37
+ private generateSubscriptionId;
38
+ private resetReadyState;
39
+ private createWebSocket;
40
+ private closeWebSocket;
41
+ private resubscribeAfterReconnect;
42
+ }
43
+ export {};
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.BopWsInterface = exports.WsConfig = void 0;
16
+ const bop_ws_1 = require("../bop-proto/bop-ws");
17
+ const reconnecting_websocket_1 = __importDefault(require("reconnecting-websocket"));
18
+ const ws_1 = __importDefault(require("ws"));
19
+ const crypto_1 = __importDefault(require("crypto"));
20
+ class WsConfig {
21
+ constructor(url, heartBeatInterval = 5000) {
22
+ this.url = url;
23
+ this.heartBeatInterval = heartBeatInterval;
24
+ }
25
+ }
26
+ exports.WsConfig = WsConfig;
27
+ class BopWsInterface {
28
+ constructor(url, interval) {
29
+ // 调整 subscriptions 结构为 Map,key 为 id
30
+ this.subscriptions = new Map();
31
+ this.reconnectAttempts = 0;
32
+ this.maxReconnectAttempts = 5;
33
+ this.reconnectWaitTime = 5000; // 重连等待时间,单位:毫秒
34
+ this.connectionTimeout = 10000; // 连接超时时间,单位:毫秒
35
+ // 新增标志位,用于区分主动断开和异常断开
36
+ this.isManuallyDisconnected = false;
37
+ this.wsUrl = url;
38
+ this.interval = interval;
39
+ this.resetReadyState();
40
+ this.createWebSocket();
41
+ }
42
+ waitForReady() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ yield this.readyPromise;
45
+ });
46
+ }
47
+ setupEventListeners() {
48
+ if (this.socket) {
49
+ this.socket.addEventListener("open", (event) => {
50
+ console.log("WebSocket connection opened");
51
+ this.readyResolve(); // 解决 Promise
52
+ this.reconnectAttempts = 0; // 重置重连次数
53
+ this.startHeartbeat();
54
+ this.resubscribeAfterReconnect(); // 重连成功后重新订阅
55
+ this.isManuallyDisconnected = false; // 连接成功后重置标志位
56
+ });
57
+ this.socket.addEventListener("message", (event) => {
58
+ try {
59
+ const data = JSON.parse(event.data);
60
+ // console.log(
61
+ // "ws: type:",
62
+ // data.type,
63
+ // ",message:",
64
+ // JSON.stringify(data.message),
65
+ // );
66
+ for (const [_, subscription] of this.subscriptions) {
67
+ if (subscription.type === data.type) {
68
+ if (bop_ws_1.MessageType.BLOCK_HEADER !== data.type &&
69
+ subscription.accounts &&
70
+ subscription.accounts.length !== 0) {
71
+ // 解析交易结构,这里假设交易结构中有一个字段叫 sourceAccount 表示源账户地址
72
+ let sourceAccount = "";
73
+ if (data.type === bop_ws_1.MessageType.BID_TRANSACTION ||
74
+ data.type === bop_ws_1.MessageType.TLOG) {
75
+ sourceAccount =
76
+ data.message.transaction_env.transaction.source_address;
77
+ }
78
+ if (data.type === bop_ws_1.MessageType.DISCARD_TRANSACTION) {
79
+ const tx = JSON.parse(data.message.tx);
80
+ sourceAccount = tx.transaction.source_address;
81
+ }
82
+ //console.log("ws type:", data.type, "source:", sourceAccount);
83
+ if (subscription.accounts.includes(sourceAccount)) {
84
+ // console.log(
85
+ // "ws include source_address:",
86
+ // sourceAccount,
87
+ // "id:",
88
+ // subscription.id,
89
+ // );
90
+ subscription.callback(data.message);
91
+ }
92
+ }
93
+ else {
94
+ //不包含accounts的订阅全部返回
95
+ subscription.callback(data.message);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ catch (error) {
101
+ console.error("Error parsing WebSocket message:", error);
102
+ }
103
+ });
104
+ this.socket.addEventListener("close", (event) => {
105
+ console.log("WebSocket connection closed");
106
+ this.stopHeartbeat();
107
+ if (!this.isManuallyDisconnected) {
108
+ this.handleConnectionClose();
109
+ }
110
+ });
111
+ this.socket.addEventListener("error", (event) => {
112
+ console.error("WebSocket error:", event.message);
113
+ if (!this.isManuallyDisconnected) {
114
+ this.handleConnectionClose();
115
+ }
116
+ });
117
+ }
118
+ }
119
+ handleConnectionClose() {
120
+ if (this.reconnectAttempts < this.maxReconnectAttempts) {
121
+ console.log(`Attempting to reconnect (attempt ${this.reconnectAttempts + 1}) in ${this.reconnectWaitTime / 1000} seconds...`);
122
+ setTimeout(() => {
123
+ this.reconnectAttempts++;
124
+ this.resetReadyState();
125
+ this.closeWebSocket();
126
+ this.createWebSocket();
127
+ }, this.reconnectWaitTime);
128
+ }
129
+ else {
130
+ console.log("Max reconnect attempts reached. Exiting.");
131
+ }
132
+ }
133
+ // 开始发送心跳消息
134
+ startHeartbeat() {
135
+ console.log("start heart beat");
136
+ if (this.heartbeatInterval === undefined) {
137
+ this.heartbeatInterval = setInterval(() => {
138
+ this.sendHeartbeat();
139
+ }, this.interval);
140
+ }
141
+ }
142
+ // 停止发送心跳消息
143
+ stopHeartbeat() {
144
+ if (this.heartbeatInterval !== undefined) {
145
+ clearInterval(this.heartbeatInterval);
146
+ this.heartbeatInterval = undefined;
147
+ }
148
+ }
149
+ sendHeartbeat() {
150
+ if (this.socket && this.socket.readyState === reconnecting_websocket_1.default.OPEN) {
151
+ this.socket.send(JSON.stringify({ type: bop_ws_1.MessageType.HEARTBEAT, message: "ping" }));
152
+ }
153
+ }
154
+ startsWithDidBid(identifier) {
155
+ const regex = /^(did:bid:ef|did:bid:zf)/;
156
+ return regex.test(identifier);
157
+ }
158
+ sendMessage(type, accounts) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ yield this.waitForReady(); // 等待连接就绪
161
+ // 如果连接仍然不是开放的(尽管我们刚刚尝试连接),则抛出异常
162
+ if (!this.socket || this.socket.readyState !== reconnecting_websocket_1.default.OPEN) {
163
+ throw new Error("WebSocket is not connected");
164
+ }
165
+ const payload = { type, message: accounts || [] };
166
+ this.socket.send(JSON.stringify(payload));
167
+ });
168
+ }
169
+ subscribe(type, callback, accounts) {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ yield this.waitForReady(); // 等待连接就绪
172
+ const subscriptionId = this.generateSubscriptionId();
173
+ const subscription = {
174
+ id: subscriptionId,
175
+ callback,
176
+ accounts,
177
+ type,
178
+ };
179
+ if (accounts && accounts.length !== 0) {
180
+ for (const account of accounts) {
181
+ if (!this.startsWithDidBid(account)) {
182
+ return "-1";
183
+ }
184
+ }
185
+ }
186
+ this.subscriptions.set(subscriptionId, subscription);
187
+ yield this.sendMessage(type, accounts);
188
+ return subscriptionId;
189
+ });
190
+ }
191
+ unsubscribe(type, subscriptionId) {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ yield this.waitForReady(); // 等待连接就绪
194
+ if (this.subscriptions.has(subscriptionId)) {
195
+ const subscription = this.subscriptions.get(subscriptionId);
196
+ if (subscription.type === type) {
197
+ this.subscriptions.delete(subscriptionId);
198
+ }
199
+ }
200
+ });
201
+ }
202
+ unsubscribeAll() {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ console.log("unsubscribeAll");
205
+ yield this.waitForReady(); // 等待连接就绪
206
+ this.subscriptions.clear();
207
+ });
208
+ }
209
+ disconnect() {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ this.isManuallyDisconnected = true; // 标记为主动断开
212
+ yield this.unsubscribeAll(); // 客户端主动退出前,取消所有订阅
213
+ this.closeWebSocket();
214
+ this.socket = null;
215
+ // 清除心跳定时器
216
+ this.stopHeartbeat();
217
+ });
218
+ }
219
+ generateSubscriptionId() {
220
+ // 获取当前时间戳
221
+ const timestamp = Date.now().toString();
222
+ // 生成随机数
223
+ const randomValue = Math.random().toString();
224
+ // 组合时间戳和随机数
225
+ const input = timestamp + randomValue;
226
+ // 创建 sha256 哈希对象
227
+ const hash = crypto_1.default.createHash("sha256");
228
+ // 更新哈希对象的输入
229
+ hash.update(input);
230
+ // 计算哈希值并转换为十六进制字符串
231
+ const hashValue = hash.digest("hex");
232
+ // 截取前 9 位作为订阅 ID
233
+ return hashValue.substr(0, 9);
234
+ }
235
+ resetReadyState() {
236
+ this.readyPromise = new Promise((resolve) => {
237
+ this.readyResolve = resolve;
238
+ });
239
+ }
240
+ createWebSocket() {
241
+ const options = {
242
+ WebSocket: ws_1.default,
243
+ connectionTimeout: this.connectionTimeout,
244
+ maxRetries: 10,
245
+ };
246
+ this.socket = new reconnecting_websocket_1.default(this.wsUrl, [], options);
247
+ this.setupEventListeners();
248
+ }
249
+ closeWebSocket() {
250
+ if (this.socket) {
251
+ this.socket.close();
252
+ }
253
+ }
254
+ resubscribeAfterReconnect() {
255
+ return __awaiter(this, void 0, void 0, function* () {
256
+ console.log("resubscribeAfterReconnect", this.subscriptions.size);
257
+ for (const [_, subscription] of this.subscriptions) {
258
+ console.log("resubscribeAfterReconnect ID:", subscription.id);
259
+ yield this.sendMessage(subscription.type, subscription.accounts);
260
+ }
261
+ });
262
+ }
263
+ }
264
+ exports.BopWsInterface = BopWsInterface;
265
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bop/bop-ws/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const __1 = require("..");
13
+ const __2 = require("..");
14
+ const bop_ws_1 = require("../../bop-proto/bop-ws");
15
+ const config = new __1.WsConfig("https://bif-mainnet.bitfactory.cn/bif/subscribe");
16
+ const bopWs = new __2.BopWsInterface(config.url, config.heartBeatInterval);
17
+ function blockHeader() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ try {
20
+ const subscriptionBlockHeaderId = yield bopWs.subscribe(bop_ws_1.MessageType.BLOCK_HEADER, (data) => {
21
+ let message = {};
22
+ message = bop_ws_1.LedgerHeaderMessage.fromJSON(data);
23
+ console.log("dealBlockHeader ing...", message);
24
+ });
25
+ console.log("Subscription BlockHeader ID:", subscriptionBlockHeaderId);
26
+ }
27
+ catch (error) {
28
+ console.error("An error occurred:", error);
29
+ }
30
+ });
31
+ }
32
+ function bidTransaction() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ try {
35
+ const subscriptionBidTransactionId = yield bopWs.subscribe(bop_ws_1.MessageType.BID_TRANSACTION, (data) => {
36
+ let val = bop_ws_1.TransactionEnvStoreMessage.fromJSON(data);
37
+ console.log("dealtransaction ing...", val);
38
+ }, ["did:bid:zfVHJnop875UMPmskam4JC4kLW4tAaDK"]);
39
+ console.log("Subscription transaction ID:", subscriptionBidTransactionId);
40
+ }
41
+ catch (error) {
42
+ console.error("An error occurred:", error);
43
+ }
44
+ });
45
+ }
46
+ function discardTransaction() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ try {
49
+ const subscriptionDiscardTransactionId = yield bopWs.subscribe(bop_ws_1.MessageType.DISCARD_TRANSACTION, (data) => {
50
+ let val = bop_ws_1.DropTxMessage.fromJSON(data);
51
+ console.log("deal discardTransaction ing...", val);
52
+ }, ["did:bid:zfVHJnop875UMPmskam4JC4kLW4tAaDK"]);
53
+ console.log("Subscription transaction ID:", subscriptionDiscardTransactionId);
54
+ }
55
+ catch (error) {
56
+ console.error("An error occurred:", error);
57
+ }
58
+ });
59
+ }
60
+ function tlogTransaction() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ try {
63
+ const subscriptionTlogTransactionId = yield bopWs.subscribe(bop_ws_1.MessageType.TLOG, (data) => {
64
+ let val = bop_ws_1.TransactionEnvStoreMessage.fromJSON(data);
65
+ console.log("deal tlogTransaction ing...", val);
66
+ }, ["did:bid:efhj9cgStGJckhLwHZefYS9Yje38NVuP"]);
67
+ console.log("Subscription transaction ID:", subscriptionTlogTransactionId);
68
+ }
69
+ catch (error) {
70
+ console.error("An error occurred:", error);
71
+ }
72
+ });
73
+ }
74
+ function errorBidCheck() {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ try {
77
+ const subscriptionTlogTransactionId = yield bopWs.subscribe(bop_ws_1.MessageType.TLOG, (data) => {
78
+ let val = bop_ws_1.TransactionEnvStoreMessage.fromJSON(data);
79
+ console.log("deal tlogTransaction ing...", val);
80
+ }, ["xxx"]);
81
+ if (subscriptionTlogTransactionId === "-1") {
82
+ console.log("subscription bid address error");
83
+ yield bopWs.disconnect();
84
+ }
85
+ else {
86
+ console.log("Subscription transaction ID:", subscriptionTlogTransactionId);
87
+ }
88
+ }
89
+ catch (error) {
90
+ console.error("An error occurred:", error);
91
+ }
92
+ });
93
+ }
94
+ // 调用 main 函数
95
+ errorBidCheck();
96
+ //# sourceMappingURL=sample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../../src/bop/bop-ws/sample/sample.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BopInterface, Config } from "./bop-base";
2
+ import * as bopprotocol from "./bop-proto/bop";
3
+ import { BopWsInterface, WsConfig } from "./bop-ws";
4
+ import * as bopwsprotocol from "./bop-proto/bop-ws";
5
+ export { BopInterface, Config, bopprotocol, BopWsInterface, WsConfig, bopwsprotocol, };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.bopwsprotocol = exports.WsConfig = exports.BopWsInterface = exports.bopprotocol = exports.Config = exports.BopInterface = void 0;
27
+ const bop_base_1 = require("./bop-base");
28
+ Object.defineProperty(exports, "BopInterface", { enumerable: true, get: function () { return bop_base_1.BopInterface; } });
29
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return bop_base_1.Config; } });
30
+ const bopprotocol = __importStar(require("./bop-proto/bop"));
31
+ exports.bopprotocol = bopprotocol;
32
+ const bop_ws_1 = require("./bop-ws");
33
+ Object.defineProperty(exports, "BopWsInterface", { enumerable: true, get: function () { return bop_ws_1.BopWsInterface; } });
34
+ Object.defineProperty(exports, "WsConfig", { enumerable: true, get: function () { return bop_ws_1.WsConfig; } });
35
+ const bopwsprotocol = __importStar(require("./bop-proto/bop-ws"));
36
+ exports.bopwsprotocol = bopwsprotocol;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bop/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAkD;AAMhD,6FANO,uBAAY,OAMP;AACZ,uFAPqB,iBAAM,OAOrB;AANR,6DAA+C;AAO7C,kCAAW;AANb,qCAAoD;AAQlD,+FARO,uBAAc,OAQP;AACd,yFATuB,iBAAQ,OASvB;AARV,kEAAoD;AASlD,sCAAa"}
@@ -0,0 +1,13 @@
1
+ import { SignerByBop } from "./interface/signer";
2
+ import { ProviderByBop } from "./interface/provider";
3
+ import { WsProviderByBop } from "./interface/provider-ws";
4
+ import { defaultUtils, Interface } from "./utils";
5
+ import * as sdkProtocolCommon from "./proto/bop-sdk-common";
6
+ import * as sdkProtocolInterface from "./proto/bop-sdk-interface";
7
+ import * as sdkProtocolUtils from "./proto/bop-sdk-utils";
8
+ declare const sdkprotocol: {
9
+ common: typeof sdkProtocolCommon;
10
+ interface: typeof sdkProtocolInterface;
11
+ utils: typeof sdkProtocolUtils;
12
+ };
13
+ export { SignerByBop, ProviderByBop, defaultUtils, Interface, sdkprotocol, WsProviderByBop, };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.WsProviderByBop = exports.sdkprotocol = exports.Interface = exports.defaultUtils = exports.ProviderByBop = exports.SignerByBop = void 0;
27
+ const signer_1 = require("./interface/signer");
28
+ Object.defineProperty(exports, "SignerByBop", { enumerable: true, get: function () { return signer_1.SignerByBop; } });
29
+ const provider_1 = require("./interface/provider");
30
+ Object.defineProperty(exports, "ProviderByBop", { enumerable: true, get: function () { return provider_1.ProviderByBop; } });
31
+ const provider_ws_1 = require("./interface/provider-ws");
32
+ Object.defineProperty(exports, "WsProviderByBop", { enumerable: true, get: function () { return provider_ws_1.WsProviderByBop; } });
33
+ const utils_1 = require("./utils");
34
+ Object.defineProperty(exports, "defaultUtils", { enumerable: true, get: function () { return utils_1.defaultUtils; } });
35
+ Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return utils_1.Interface; } });
36
+ const sdkProtocolCommon = __importStar(require("./proto/bop-sdk-common"));
37
+ const sdkProtocolInterface = __importStar(require("./proto/bop-sdk-interface"));
38
+ const sdkProtocolUtils = __importStar(require("./proto/bop-sdk-utils"));
39
+ const sdkprotocol = {
40
+ common: sdkProtocolCommon,
41
+ interface: sdkProtocolInterface,
42
+ utils: sdkProtocolUtils,
43
+ };
44
+ exports.sdkprotocol = sdkprotocol;
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bop-sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiD;AAe/C,4FAfO,oBAAW,OAeP;AAdb,mDAAqD;AAenD,8FAfO,wBAAa,OAeP;AAdf,yDAA0D;AAkBxD,gGAlBO,6BAAe,OAkBP;AAjBjB,mCAAkD;AAchD,6FAdO,oBAAY,OAcP;AACZ,0FAfqB,iBAAS,OAerB;AAdX,0EAA4D;AAC5D,gFAAkE;AAClE,wEAA0D;AAE1D,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,oBAAoB;IAC/B,KAAK,EAAE,gBAAgB;CACxB,CAAC;AAOA,kCAAW"}
@@ -0,0 +1,8 @@
1
+ import { GetAccountResponse, GetAccountMetadataResponse, GetAccountIncreaseNonceResponse, GetAccountBalanceResponse, GetAccountPrivResponse } from "bop-sdk/proto/bop-sdk-interface";
2
+ export declare abstract class account {
3
+ abstract getAccount(address: string): Promise<GetAccountResponse>;
4
+ abstract getAccountMetadata(address: string, seq?: number | "latest", key?: string): Promise<GetAccountMetadataResponse>;
5
+ abstract getAccountIncreaseNonce(address: string): Promise<GetAccountIncreaseNonceResponse>;
6
+ abstract getAccountBalance(address: string): Promise<GetAccountBalanceResponse>;
7
+ abstract getAccountPriv(address: string): Promise<GetAccountPrivResponse>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.account = void 0;
4
+ class account {
5
+ }
6
+ exports.account = account;
7
+ //# sourceMappingURL=abstract-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-account.js","sourceRoot":"","sources":["../../../../src/bop-sdk/interface/abstract-service/abstract-account.ts"],"names":[],"mappings":";;;AAQA,MAAsB,OAAO;CAc5B;AAdD,0BAcC"}
@@ -0,0 +1,5 @@
1
+ import { GetChainInfoResponse, GetNetworkIdResponse } from "bop-sdk/proto/bop-sdk-interface";
2
+ export declare abstract class chain {
3
+ abstract getChainInfo(): Promise<GetChainInfoResponse>;
4
+ abstract getNetworkId(): Promise<GetNetworkIdResponse>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chain = void 0;
4
+ class chain {
5
+ }
6
+ exports.chain = chain;
7
+ //# sourceMappingURL=abstract-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-chain.js","sourceRoot":"","sources":["../../../../src/bop-sdk/interface/abstract-service/abstract-chain.ts"],"names":[],"mappings":";;;AAKA,MAAsB,KAAK;CAG1B;AAHD,sBAGC"}
@@ -0,0 +1,6 @@
1
+ import { CheckContractAccountResponse, GetContractInfoResponse, CallContractRequest, CallContractResponse } from "bop-sdk/proto/bop-sdk-interface";
2
+ export declare abstract class contract {
3
+ abstract checkContractAccount(address: string): Promise<CheckContractAccountResponse>;
4
+ abstract getContractInfo(address: string): Promise<GetContractInfoResponse>;
5
+ abstract callContract(transaction: CallContractRequest): Promise<CallContractResponse>;
6
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contract = void 0;
4
+ class contract {
5
+ }
6
+ exports.contract = contract;
7
+ //# sourceMappingURL=abstract-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-contract.js","sourceRoot":"","sources":["../../../../src/bop-sdk/interface/abstract-service/abstract-contract.ts"],"names":[],"mappings":";;;AAOA,MAAsB,QAAQ;CAQ7B;AARD,4BAQC"}
@@ -0,0 +1,8 @@
1
+ import { LedgerResponse, LedgerNumberResponse, LedgerLeaderResponse, LedgerValidatorsResponse, LedgerTxHashesResponse } from "bop-sdk/proto/bop-sdk-interface";
2
+ export declare abstract class ledger {
3
+ abstract getLedger(seq?: number): Promise<LedgerResponse>;
4
+ abstract getLedgerNumber(): Promise<LedgerNumberResponse>;
5
+ abstract getLedgerLeader(seq?: number): Promise<LedgerLeaderResponse>;
6
+ abstract getLedgerValidators(seq?: number): Promise<LedgerValidatorsResponse>;
7
+ abstract getLedgerTxHashes(seq?: number): Promise<LedgerTxHashesResponse>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ledger = void 0;
4
+ class ledger {
5
+ }
6
+ exports.ledger = ledger;
7
+ //# sourceMappingURL=abstract-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-ledger.js","sourceRoot":"","sources":["../../../../src/bop-sdk/interface/abstract-service/abstract-ledger.ts"],"names":[],"mappings":";;;AAQA,MAAsB,MAAM;CAM3B;AAND,wBAMC"}
@@ -0,0 +1,12 @@
1
+ import { account as Account } from "./abstract-account";
2
+ import { chain as Chain } from "./abstract-chain";
3
+ import { contract as Contract } from "./abstract-contract";
4
+ import { ledger as Ledger } from "./abstract-ledger";
5
+ import { transaction as Transaction } from "./abstract-transaction";
6
+ export declare abstract class Provider {
7
+ chain: Chain;
8
+ ledger: Ledger;
9
+ account: Account;
10
+ transaction: Transaction;
11
+ contract: Contract;
12
+ }