@caict/bop-typescript-sdk 1.0.0

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 (115) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +5 -0
  4. package/README.md +112 -0
  5. package/package.json +90 -0
  6. package/src/bop/bop-base/README.md +5 -0
  7. package/src/bop/bop-base/base.ts +366 -0
  8. package/src/bop/bop-base/index.ts +83 -0
  9. package/src/bop/bop-base/permit.ts +116 -0
  10. package/src/bop/bop-base/test/base.test.ts +867 -0
  11. package/src/bop/bop-base/test/index.test.ts +69 -0
  12. package/src/bop/bop-base/test/permit.test.ts +125 -0
  13. package/src/bop/bop-base/tsconfig.json +8 -0
  14. package/src/bop/bop-proto/README.md +2 -0
  15. package/src/bop/bop-proto/bop-ws.proto +266 -0
  16. package/src/bop/bop-proto/bop-ws.ts +4447 -0
  17. package/src/bop/bop-proto/bop.proto +898 -0
  18. package/src/bop/bop-proto/bop.ts +12890 -0
  19. package/src/bop/bop-proto/tsconfig.json +8 -0
  20. package/src/bop/bop-ws/index.ts +315 -0
  21. package/src/bop/bop-ws/sample/sample.ts +107 -0
  22. package/src/bop/bop-ws/tsconfig.json +8 -0
  23. package/src/bop/index.ts +14 -0
  24. package/src/bop-sdk/index.ts +22 -0
  25. package/src/bop-sdk/interface/abstract-service/abstract-account.ts +23 -0
  26. package/src/bop-sdk/interface/abstract-service/abstract-chain.ts +9 -0
  27. package/src/bop-sdk/interface/abstract-service/abstract-contract.ts +16 -0
  28. package/src/bop-sdk/interface/abstract-service/abstract-ledger.ts +15 -0
  29. package/src/bop-sdk/interface/abstract-service/abstract-provider.ts +13 -0
  30. package/src/bop-sdk/interface/abstract-service/abstract-signer.ts +133 -0
  31. package/src/bop-sdk/interface/abstract-service/abstract-transaction.ts +86 -0
  32. package/src/bop-sdk/interface/provider-ws.ts +10 -0
  33. package/src/bop-sdk/interface/provider.ts +22 -0
  34. package/src/bop-sdk/interface/service/3rd.ts +54 -0
  35. package/src/bop-sdk/interface/service/account.ts +86 -0
  36. package/src/bop-sdk/interface/service/chain.ts +27 -0
  37. package/src/bop-sdk/interface/service/contract.ts +51 -0
  38. package/src/bop-sdk/interface/service/helper.ts +426 -0
  39. package/src/bop-sdk/interface/service/ledger.ts +75 -0
  40. package/src/bop-sdk/interface/service/offline/check/index.js +138 -0
  41. package/src/bop-sdk/interface/service/offline/common/constant.js +6 -0
  42. package/src/bop-sdk/interface/service/offline/common/snowFlakeUtils.js +192 -0
  43. package/src/bop-sdk/interface/service/offline/common/util.js +511 -0
  44. package/src/bop-sdk/interface/service/offline/exception/customErrors.js +29 -0
  45. package/src/bop-sdk/interface/service/offline/exception/errors.js +90 -0
  46. package/src/bop-sdk/interface/service/offline/exception/index.js +5 -0
  47. package/src/bop-sdk/interface/service/offline/operation/accountCreateOperation.js +28 -0
  48. package/src/bop-sdk/interface/service/offline/operation/accountSetMetadataOperation.js +44 -0
  49. package/src/bop-sdk/interface/service/offline/operation/accountSetPrivilegeOperation.js +49 -0
  50. package/src/bop-sdk/interface/service/offline/operation/contractCreateOperation.js +43 -0
  51. package/src/bop-sdk/interface/service/offline/operation/contractInvokeOperation.js +42 -0
  52. package/src/bop-sdk/interface/service/offline/operation/contractInvokeRequestOperation.js +69 -0
  53. package/src/bop-sdk/interface/service/offline/operation/gasSendOperation.js +29 -0
  54. package/src/bop-sdk/interface/service/offline/operation/gasSendRequestOperation.js +61 -0
  55. package/src/bop-sdk/interface/service/offline/operation/index.js +20 -0
  56. package/src/bop-sdk/interface/service/offline/proto/chain_pb.js +12079 -0
  57. package/src/bop-sdk/interface/service/offline/proto/common_pb.js +2867 -0
  58. package/src/bop-sdk/interface/service/offline/transaction/index.js +988 -0
  59. package/src/bop-sdk/interface/service/offline/transaction/operations.js +188 -0
  60. package/src/bop-sdk/interface/service/offline/validate/account.js +152 -0
  61. package/src/bop-sdk/interface/service/offline/validate/contract.js +101 -0
  62. package/src/bop-sdk/interface/service/offline/validate/index.js +10 -0
  63. package/src/bop-sdk/interface/service/offline/validate/transaction.js +51 -0
  64. package/src/bop-sdk/interface/service/transaction.ts +731 -0
  65. package/src/bop-sdk/interface/signer.ts +46 -0
  66. package/src/bop-sdk/interface/test/3rd.test.ts +1571 -0
  67. package/src/bop-sdk/interface/test/account.test.ts +284 -0
  68. package/src/bop-sdk/interface/test/chain.test.ts +45 -0
  69. package/src/bop-sdk/interface/test/contract.test.ts +283 -0
  70. package/src/bop-sdk/interface/test/ledger.test.ts +166 -0
  71. package/src/bop-sdk/interface/test/provider.test.ts +407 -0
  72. package/src/bop-sdk/interface/test/signer.test.ts +105 -0
  73. package/src/bop-sdk/interface/test/transaction.test.ts +713 -0
  74. package/src/bop-sdk/proto/bop-sdk-common.proto +159 -0
  75. package/src/bop-sdk/proto/bop-sdk-common.ts +829 -0
  76. package/src/bop-sdk/proto/bop-sdk-interface.proto +581 -0
  77. package/src/bop-sdk/proto/bop-sdk-interface.ts +10839 -0
  78. package/src/bop-sdk/proto/bop-sdk-utils.proto +86 -0
  79. package/src/bop-sdk/proto/bop-sdk-utils.ts +1495 -0
  80. package/src/bop-sdk/utils/abi/abi-coder.ts +147 -0
  81. package/src/bop-sdk/utils/abi/address.ts +109 -0
  82. package/src/bop-sdk/utils/abi/bignumber.ts +403 -0
  83. package/src/bop-sdk/utils/abi/bytes.ts +565 -0
  84. package/src/bop-sdk/utils/abi/coders/abstract-coder.ts +239 -0
  85. package/src/bop-sdk/utils/abi/coders/address.ts +58 -0
  86. package/src/bop-sdk/utils/abi/coders/anonymous.ts +25 -0
  87. package/src/bop-sdk/utils/abi/coders/array.ts +275 -0
  88. package/src/bop-sdk/utils/abi/coders/boolean.ts +21 -0
  89. package/src/bop-sdk/utils/abi/coders/bytes.ts +36 -0
  90. package/src/bop-sdk/utils/abi/coders/fixed-bytes.ts +35 -0
  91. package/src/bop-sdk/utils/abi/coders/null.ts +25 -0
  92. package/src/bop-sdk/utils/abi/coders/number.ts +56 -0
  93. package/src/bop-sdk/utils/abi/coders/string.ts +24 -0
  94. package/src/bop-sdk/utils/abi/coders/tuple.ts +73 -0
  95. package/src/bop-sdk/utils/abi/constants/addresses.ts +1 -0
  96. package/src/bop-sdk/utils/abi/constants/bignumbers.ts +30 -0
  97. package/src/bop-sdk/utils/abi/constants/hashes.ts +2 -0
  98. package/src/bop-sdk/utils/abi/constants/index.ts +15 -0
  99. package/src/bop-sdk/utils/abi/constants/strings.ts +2 -0
  100. package/src/bop-sdk/utils/abi/fragments.ts +1243 -0
  101. package/src/bop-sdk/utils/abi/id.ts +6 -0
  102. package/src/bop-sdk/utils/abi/index.ts +46 -0
  103. package/src/bop-sdk/utils/abi/interface.ts +921 -0
  104. package/src/bop-sdk/utils/abi/keccak256.ts +9 -0
  105. package/src/bop-sdk/utils/abi/properties.ts +172 -0
  106. package/src/bop-sdk/utils/abi/strings/bytes32.ts +40 -0
  107. package/src/bop-sdk/utils/abi/strings/idna.ts +258 -0
  108. package/src/bop-sdk/utils/abi/strings/index.ts +28 -0
  109. package/src/bop-sdk/utils/abi/strings/utf8.ts +373 -0
  110. package/src/bop-sdk/utils/encryption-address.ts +501 -0
  111. package/src/bop-sdk/utils/encryption-crypto.ts +427 -0
  112. package/src/bop-sdk/utils/encryption-mnemonics.ts +120 -0
  113. package/src/bop-sdk/utils/index.ts +27 -0
  114. package/src/bop-sdk/utils/logger.ts +480 -0
  115. package/src/index.ts +35 -0
@@ -0,0 +1,1571 @@
1
+ import { BopByBop } from "../service/3rd";
2
+ import { expect } from "chai";
3
+ import * as sinon from "sinon";
4
+ import { BopInterface, Config } from "../../../bop/bop-base";
5
+ import {
6
+ ApplyRequest,
7
+ ApplyResponse,
8
+ ApplyStatusRequest,
9
+ ApplyStatusResponse,
10
+ DetailRequest,
11
+ DetailResponse,
12
+ DiscardRequest,
13
+ DiscardResponse,
14
+ GetTransactionCachePlatResponse,
15
+ GetTransactionCacheRequest,
16
+ QueryRequest,
17
+ QueryResponse,
18
+ QueryRequest_TxType,
19
+ } from "../../../bop/bop-proto/bop";
20
+
21
+ // 使用 Sinon 创建模拟对象
22
+ const sandbox = sinon.createSandbox();
23
+ describe("provider-bop-test", () => {
24
+ let bop: BopByBop;
25
+ let baseServiceMock: sinon.SinonMock;
26
+
27
+ let bopInterface: BopInterface;
28
+ let config: Config;
29
+
30
+ beforeEach(() => {
31
+ config = new Config("https://bif-mainnet.bitfactory.cn", "xxx", "xxx");
32
+ bopInterface = new BopInterface(config);
33
+
34
+ bop = new BopByBop(bopInterface);
35
+ baseServiceMock = sandbox.mock(bopInterface.getBaseService());
36
+ });
37
+
38
+ afterEach(() => {
39
+ // 重置模拟对象
40
+ sandbox.restore();
41
+ });
42
+
43
+ describe("bop test", () => {
44
+ it("bop.apply", async () => {
45
+ const request: ApplyRequest = {
46
+ data: [
47
+ {
48
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
49
+ status: "1",
50
+ },
51
+ ],
52
+ };
53
+ let response: ApplyResponse;
54
+ response = await bop.apply(request);
55
+ console.log(response);
56
+ expect(response.errorCode).to.equal(0);
57
+ expect(response.errorDesc).to.equal("ok");
58
+ });
59
+
60
+ it("bop.apply more than 100", async () => {
61
+ const request: ApplyRequest = {
62
+ data: [
63
+ {
64
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
65
+ status: "1",
66
+ },
67
+ {
68
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
69
+ status: "1",
70
+ },
71
+ {
72
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
73
+ status: "1",
74
+ },
75
+ {
76
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
77
+ status: "1",
78
+ },
79
+ {
80
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
81
+ status: "1",
82
+ },
83
+ {
84
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
85
+ status: "1",
86
+ },
87
+ {
88
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
89
+ status: "1",
90
+ },
91
+ {
92
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
93
+ status: "1",
94
+ },
95
+ {
96
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
97
+ status: "1",
98
+ },
99
+ {
100
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
101
+ status: "1",
102
+ },
103
+ {
104
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
105
+ status: "1",
106
+ },
107
+ {
108
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
109
+ status: "1",
110
+ },
111
+ {
112
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
113
+ status: "1",
114
+ },
115
+ {
116
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
117
+ status: "1",
118
+ },
119
+ {
120
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
121
+ status: "1",
122
+ },
123
+ {
124
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
125
+ status: "1",
126
+ },
127
+ {
128
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
129
+ status: "1",
130
+ },
131
+ {
132
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
133
+ status: "1",
134
+ },
135
+ {
136
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
137
+ status: "1",
138
+ },
139
+ {
140
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
141
+ status: "1",
142
+ },
143
+ {
144
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
145
+ status: "1",
146
+ },
147
+ {
148
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
149
+ status: "1",
150
+ },
151
+ {
152
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
153
+ status: "1",
154
+ },
155
+ {
156
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
157
+ status: "1",
158
+ },
159
+ {
160
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
161
+ status: "1",
162
+ },
163
+ {
164
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
165
+ status: "1",
166
+ },
167
+ {
168
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
169
+ status: "1",
170
+ },
171
+ {
172
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
173
+ status: "1",
174
+ },
175
+ {
176
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
177
+ status: "1",
178
+ },
179
+ {
180
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
181
+ status: "1",
182
+ },
183
+ {
184
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
185
+ status: "1",
186
+ },
187
+ {
188
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
189
+ status: "1",
190
+ },
191
+ {
192
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
193
+ status: "1",
194
+ },
195
+ {
196
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
197
+ status: "1",
198
+ },
199
+ {
200
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
201
+ status: "1",
202
+ },
203
+ {
204
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
205
+ status: "1",
206
+ },
207
+ {
208
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
209
+ status: "1",
210
+ },
211
+ {
212
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
213
+ status: "1",
214
+ },
215
+ {
216
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
217
+ status: "1",
218
+ },
219
+ {
220
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
221
+ status: "1",
222
+ },
223
+ {
224
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
225
+ status: "1",
226
+ },
227
+ {
228
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
229
+ status: "1",
230
+ },
231
+ {
232
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
233
+ status: "1",
234
+ },
235
+ {
236
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
237
+ status: "1",
238
+ },
239
+ {
240
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
241
+ status: "1",
242
+ },
243
+ {
244
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
245
+ status: "1",
246
+ },
247
+ {
248
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
249
+ status: "1",
250
+ },
251
+ {
252
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
253
+ status: "1",
254
+ },
255
+ {
256
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
257
+ status: "1",
258
+ },
259
+ {
260
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
261
+ status: "1",
262
+ },
263
+ {
264
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
265
+ status: "1",
266
+ },
267
+ {
268
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
269
+ status: "1",
270
+ },
271
+ {
272
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
273
+ status: "1",
274
+ },
275
+ {
276
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
277
+ status: "1",
278
+ },
279
+ {
280
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
281
+ status: "1",
282
+ },
283
+ {
284
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
285
+ status: "1",
286
+ },
287
+ {
288
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
289
+ status: "1",
290
+ },
291
+ {
292
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
293
+ status: "1",
294
+ },
295
+ {
296
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
297
+ status: "1",
298
+ },
299
+ {
300
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
301
+ status: "1",
302
+ },
303
+ {
304
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
305
+ status: "1",
306
+ },
307
+ {
308
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
309
+ status: "1",
310
+ },
311
+ {
312
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
313
+ status: "1",
314
+ },
315
+ {
316
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
317
+ status: "1",
318
+ },
319
+ {
320
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
321
+ status: "1",
322
+ },
323
+ {
324
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
325
+ status: "1",
326
+ },
327
+ {
328
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
329
+ status: "1",
330
+ },
331
+ {
332
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
333
+ status: "1",
334
+ },
335
+ {
336
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
337
+ status: "1",
338
+ },
339
+ {
340
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
341
+ status: "1",
342
+ },
343
+ {
344
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
345
+ status: "1",
346
+ },
347
+ {
348
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
349
+ status: "1",
350
+ },
351
+ {
352
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
353
+ status: "1",
354
+ },
355
+ {
356
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
357
+ status: "1",
358
+ },
359
+ {
360
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
361
+ status: "1",
362
+ },
363
+ {
364
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
365
+ status: "1",
366
+ },
367
+ {
368
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
369
+ status: "1",
370
+ },
371
+ {
372
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
373
+ status: "1",
374
+ },
375
+ {
376
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
377
+ status: "1",
378
+ },
379
+ {
380
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
381
+ status: "1",
382
+ },
383
+ {
384
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
385
+ status: "1",
386
+ },
387
+ {
388
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
389
+ status: "1",
390
+ },
391
+ {
392
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
393
+ status: "1",
394
+ },
395
+ {
396
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
397
+ status: "1",
398
+ },
399
+ {
400
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
401
+ status: "1",
402
+ },
403
+ {
404
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
405
+ status: "1",
406
+ },
407
+ {
408
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
409
+ status: "1",
410
+ },
411
+ {
412
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
413
+ status: "1",
414
+ },
415
+ {
416
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
417
+ status: "1",
418
+ },
419
+ {
420
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
421
+ status: "1",
422
+ },
423
+ {
424
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
425
+ status: "1",
426
+ },
427
+ {
428
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
429
+ status: "1",
430
+ },
431
+ {
432
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
433
+ status: "1",
434
+ },
435
+ {
436
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
437
+ status: "1",
438
+ },
439
+ {
440
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
441
+ status: "1",
442
+ },
443
+ {
444
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
445
+ status: "1",
446
+ },
447
+ {
448
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
449
+ status: "1",
450
+ },
451
+ {
452
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
453
+ status: "1",
454
+ },
455
+ {
456
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
457
+ status: "1",
458
+ },
459
+ {
460
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
461
+ status: "1",
462
+ },
463
+ {
464
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
465
+ status: "1",
466
+ },
467
+ {
468
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
469
+ status: "1",
470
+ },
471
+ {
472
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
473
+ status: "1",
474
+ },
475
+ {
476
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
477
+ status: "1",
478
+ },
479
+ {
480
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
481
+ status: "1",
482
+ },
483
+ {
484
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
485
+ status: "1",
486
+ },
487
+ {
488
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
489
+ status: "1",
490
+ },
491
+ {
492
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
493
+ status: "1",
494
+ },
495
+ {
496
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
497
+ status: "1",
498
+ },
499
+ {
500
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
501
+ status: "1",
502
+ },
503
+ {
504
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
505
+ status: "1",
506
+ },
507
+ {
508
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
509
+ status: "1",
510
+ },
511
+ {
512
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
513
+ status: "1",
514
+ },
515
+ {
516
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
517
+ status: "1",
518
+ },
519
+ {
520
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
521
+ status: "1",
522
+ },
523
+ {
524
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
525
+ status: "1",
526
+ },
527
+ {
528
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
529
+ status: "1",
530
+ },
531
+ {
532
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
533
+ status: "1",
534
+ },
535
+ {
536
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
537
+ status: "1",
538
+ },
539
+ {
540
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
541
+ status: "1",
542
+ },
543
+ {
544
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
545
+ status: "1",
546
+ },
547
+ {
548
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
549
+ status: "1",
550
+ },
551
+ {
552
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
553
+ status: "1",
554
+ },
555
+ {
556
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
557
+ status: "1",
558
+ },
559
+ {
560
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
561
+ status: "1",
562
+ },
563
+ {
564
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
565
+ status: "1",
566
+ },
567
+ ],
568
+ };
569
+ let response: ApplyResponse;
570
+ response = await bop.apply(request);
571
+ console.log(response);
572
+ expect(response.errorCode).to.equal(-9);
573
+ });
574
+
575
+ it("bop.apply less than 100", async () => {
576
+ const request: ApplyRequest = {
577
+ data: [
578
+ {
579
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
580
+ status: "1",
581
+ },
582
+ {
583
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
584
+ status: "1",
585
+ },
586
+ {
587
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
588
+ status: "1",
589
+ },
590
+ {
591
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
592
+ status: "1",
593
+ },
594
+ {
595
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
596
+ status: "1",
597
+ },
598
+ {
599
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
600
+ status: "1",
601
+ },
602
+ {
603
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
604
+ status: "1",
605
+ },
606
+ {
607
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
608
+ status: "1",
609
+ },
610
+ {
611
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
612
+ status: "1",
613
+ },
614
+ {
615
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
616
+ status: "1",
617
+ },
618
+ {
619
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
620
+ status: "1",
621
+ },
622
+ {
623
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
624
+ status: "1",
625
+ },
626
+ {
627
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
628
+ status: "1",
629
+ },
630
+ {
631
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
632
+ status: "1",
633
+ },
634
+ {
635
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
636
+ status: "1",
637
+ },
638
+ {
639
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
640
+ status: "1",
641
+ },
642
+ {
643
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
644
+ status: "1",
645
+ },
646
+ {
647
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
648
+ status: "1",
649
+ },
650
+ {
651
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
652
+ status: "1",
653
+ },
654
+ {
655
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
656
+ status: "1",
657
+ },
658
+ {
659
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
660
+ status: "1",
661
+ },
662
+ {
663
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
664
+ status: "1",
665
+ },
666
+ {
667
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
668
+ status: "1",
669
+ },
670
+ {
671
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
672
+ status: "1",
673
+ },
674
+ {
675
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
676
+ status: "1",
677
+ },
678
+ {
679
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
680
+ status: "1",
681
+ },
682
+ {
683
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
684
+ status: "1",
685
+ },
686
+ {
687
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
688
+ status: "1",
689
+ },
690
+ {
691
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
692
+ status: "1",
693
+ },
694
+ {
695
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
696
+ status: "1",
697
+ },
698
+ {
699
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
700
+ status: "1",
701
+ },
702
+ {
703
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
704
+ status: "1",
705
+ },
706
+ {
707
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
708
+ status: "1",
709
+ },
710
+ {
711
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
712
+ status: "1",
713
+ },
714
+ {
715
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
716
+ status: "1",
717
+ },
718
+ {
719
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
720
+ status: "1",
721
+ },
722
+ {
723
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
724
+ status: "1",
725
+ },
726
+ {
727
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
728
+ status: "1",
729
+ },
730
+ {
731
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
732
+ status: "1",
733
+ },
734
+ {
735
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
736
+ status: "1",
737
+ },
738
+ {
739
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
740
+ status: "1",
741
+ },
742
+ {
743
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
744
+ status: "1",
745
+ },
746
+ {
747
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
748
+ status: "1",
749
+ },
750
+ {
751
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
752
+ status: "1",
753
+ },
754
+ {
755
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
756
+ status: "1",
757
+ },
758
+ {
759
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
760
+ status: "1",
761
+ },
762
+ {
763
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
764
+ status: "1",
765
+ },
766
+ {
767
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
768
+ status: "1",
769
+ },
770
+ {
771
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
772
+ status: "1",
773
+ },
774
+ {
775
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
776
+ status: "1",
777
+ },
778
+ {
779
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
780
+ status: "1",
781
+ },
782
+ {
783
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
784
+ status: "1",
785
+ },
786
+ {
787
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
788
+ status: "1",
789
+ },
790
+ {
791
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
792
+ status: "1",
793
+ },
794
+ {
795
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
796
+ status: "1",
797
+ },
798
+ {
799
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
800
+ status: "1",
801
+ },
802
+ {
803
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
804
+ status: "1",
805
+ },
806
+ {
807
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
808
+ status: "1",
809
+ },
810
+ {
811
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
812
+ status: "1",
813
+ },
814
+ {
815
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
816
+ status: "1",
817
+ },
818
+ {
819
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
820
+ status: "1",
821
+ },
822
+ {
823
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
824
+ status: "1",
825
+ },
826
+ {
827
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
828
+ status: "1",
829
+ },
830
+ {
831
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
832
+ status: "1",
833
+ },
834
+ {
835
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
836
+ status: "1",
837
+ },
838
+ {
839
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
840
+ status: "1",
841
+ },
842
+ {
843
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
844
+ status: "1",
845
+ },
846
+ {
847
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
848
+ status: "1",
849
+ },
850
+ {
851
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
852
+ status: "1",
853
+ },
854
+ {
855
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
856
+ status: "1",
857
+ },
858
+ {
859
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
860
+ status: "1",
861
+ },
862
+ {
863
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
864
+ status: "1",
865
+ },
866
+ {
867
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
868
+ status: "1",
869
+ },
870
+ {
871
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
872
+ status: "1",
873
+ },
874
+ {
875
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
876
+ status: "1",
877
+ },
878
+ {
879
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
880
+ status: "1",
881
+ },
882
+ {
883
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
884
+ status: "1",
885
+ },
886
+ {
887
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
888
+ status: "1",
889
+ },
890
+ {
891
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
892
+ status: "1",
893
+ },
894
+ {
895
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
896
+ status: "1",
897
+ },
898
+ {
899
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
900
+ status: "1",
901
+ },
902
+ {
903
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
904
+ status: "1",
905
+ },
906
+ ],
907
+ };
908
+ let response: ApplyResponse;
909
+ response = await bop.apply(request);
910
+ console.log(response);
911
+ expect(response.errorCode).to.equal(0);
912
+ expect(response.errorDesc).to.equal("ok");
913
+ });
914
+
915
+ it("bop.apply bid empty", async () => {
916
+ const request: ApplyRequest = {
917
+ data: [
918
+ {
919
+ bid: "",
920
+ status: "1",
921
+ },
922
+ ],
923
+ };
924
+ let response: ApplyResponse;
925
+ response = await bop.apply(request);
926
+ console.log(response);
927
+ expect(response.errorCode).to.equal(1106);
928
+ });
929
+
930
+ it("bop.apply bid invalid", async () => {
931
+ const request: ApplyRequest = {
932
+ data: [
933
+ {
934
+ bid: "xxx",
935
+ status: "1",
936
+ },
937
+ ],
938
+ };
939
+ let response: ApplyResponse;
940
+ response = await bop.apply(request);
941
+ console.log(response);
942
+ expect(response.errorCode).to.equal(1106);
943
+ });
944
+
945
+ it("bop.apply status empty", async () => {
946
+ const request: ApplyRequest = {
947
+ data: [
948
+ {
949
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
950
+ },
951
+ ],
952
+ };
953
+ let response: ApplyResponse;
954
+ response = await bop.apply(request);
955
+ console.log(response);
956
+ expect(response.errorCode).to.equal(1106);
957
+ });
958
+
959
+ it("bop.apply status negative", async () => {
960
+ const request: ApplyRequest = {
961
+ data: [
962
+ {
963
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
964
+ status: "-1",
965
+ },
966
+ ],
967
+ };
968
+ let response: ApplyResponse;
969
+ response = await bop.apply(request);
970
+ console.log(response);
971
+ expect(response.errorCode).to.equal(1106);
972
+ });
973
+
974
+ it("bop.apply status more then 1", async () => {
975
+ const request: ApplyRequest = {
976
+ data: [
977
+ {
978
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
979
+ status: "2",
980
+ },
981
+ ],
982
+ };
983
+ let response: ApplyResponse;
984
+ response = await bop.apply(request);
985
+ console.log(response);
986
+ expect(response.errorCode).to.equal(1106);
987
+ });
988
+
989
+ it("bop.apply status invalid", async () => {
990
+ const request: ApplyRequest = {
991
+ data: [
992
+ {
993
+ bid: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
994
+ status: "xx",
995
+ },
996
+ ],
997
+ };
998
+ let response: ApplyResponse;
999
+ response = await bop.apply(request);
1000
+ console.log(response);
1001
+ expect(response.errorCode).to.equal(1106);
1002
+ });
1003
+
1004
+ it("bop.status", async () => {
1005
+ const request: ApplyStatusRequest = {
1006
+ requestNo: "ca3d2fa2-28ab-4322-b9f7-b018667acf87",
1007
+ };
1008
+ let response: ApplyStatusResponse;
1009
+ response = await bop.status(request);
1010
+ console.log(response);
1011
+ expect(response.errorCode).to.equal(0);
1012
+ expect(response.errorDesc).to.equal("ok");
1013
+ });
1014
+
1015
+ it("bop.status requestNo empty", async () => {
1016
+ const request: ApplyStatusRequest = {
1017
+ requestNo: "",
1018
+ };
1019
+ let response: ApplyStatusResponse;
1020
+ response = await bop.status(request);
1021
+ console.log(response);
1022
+ expect(response.errorCode).to.equal(1106);
1023
+ });
1024
+
1025
+ it("bop.status requestNo not exist", async () => {
1026
+ const request: ApplyStatusRequest = {
1027
+ requestNo: "ca3d2fa2-28ab-4322-b9f7-b018667acf86",
1028
+ };
1029
+ let response: ApplyStatusResponse;
1030
+ response = await bop.status(request);
1031
+ console.log(response);
1032
+ expect(response.errorCode).to.equal(1106);
1033
+ });
1034
+
1035
+ it("bop.status requestNo invalid", async () => {
1036
+ const request: ApplyStatusRequest = {
1037
+ requestNo: "xxx",
1038
+ };
1039
+ let response: ApplyStatusResponse;
1040
+ response = await bop.status(request);
1041
+ console.log(response);
1042
+ expect(response.errorCode).to.equal(1106);
1043
+ });
1044
+
1045
+ it("bop.detail", async () => {
1046
+ const request: DetailRequest = {
1047
+ requestNo: "ca3d2fa2-28ab-4322-b9f7-b018667acf87",
1048
+ };
1049
+ let response: DetailResponse;
1050
+ response = await bop.detail(request);
1051
+ console.log(response);
1052
+ expect(response.errorCode).to.equal(0);
1053
+ expect(response.errorDesc).to.equal("ok");
1054
+ });
1055
+
1056
+ it("bop.detail requestNo empty", async () => {
1057
+ const request: DetailRequest = {
1058
+ requestNo: "",
1059
+ };
1060
+ let response: DetailResponse;
1061
+ response = await bop.detail(request);
1062
+ console.log(response);
1063
+ expect(response.errorCode).to.equal(1106);
1064
+ });
1065
+
1066
+ it("bop.detail requestNo invalid", async () => {
1067
+ const request: DetailRequest = {
1068
+ requestNo: "xxx",
1069
+ };
1070
+ let response: DetailResponse;
1071
+ response = await bop.detail(request);
1072
+ console.log(response);
1073
+ expect(response.errorCode).to.equal(1106);
1074
+ });
1075
+
1076
+ it("bop.detail requestNo not exist", async () => {
1077
+ const request: DetailRequest = {
1078
+ requestNo: "ca3d2fa2-28ab-4322-b9f7-b018667acf86",
1079
+ };
1080
+ let response: DetailResponse;
1081
+ response = await bop.detail(request);
1082
+ console.log(response);
1083
+ expect(response.errorCode).to.equal(1106);
1084
+ });
1085
+
1086
+ it("bop.getTransactionCache", async () => {
1087
+ let platResponseJson = {
1088
+ trace: "9d1450d34aac419b887b84567300050f",
1089
+ result: {
1090
+ total_count: 1,
1091
+ transactions: [
1092
+ {
1093
+ blob: "0A286469643A6269643A6566433552456946657361427575315558624D4A577645737146526B514B697110F6880322330807522F0A296469643A6269643A65663262374A386141375044326D77535243754B4B4276423873726A4A7A32596F1080B51830C0843D3801",
1094
+ hash: "e6366d3ae7231e8f59d44b710521dce671abd9d1c37c2e2b23736b12665e6547",
1095
+ error_code: 1311,
1096
+ signatures: [
1097
+ {
1098
+ sign_data:
1099
+ "4BAC56FCF51A90CDD9DC30D7E13072FCFD3181BB861FA34457FD47E4515AC168013E17A8887F1A8EAE8DD42D42447B0644043DAFCF5C007DECF62D05033B1B03",
1100
+ public_key:
1101
+ "b065665b6fa23dc1c00b17b8d2cd86093c86bbae4c011247310f9160351bd64bc580cc",
1102
+ },
1103
+ ],
1104
+ transaction: {
1105
+ operations: [
1106
+ {
1107
+ type: 7,
1108
+ pay_coin: {
1109
+ dest_address: "did:bid:ef2b7J8aA7PD2mwSRCuKKBvB8srjJz2Yo",
1110
+ amount: 400000,
1111
+ },
1112
+ },
1113
+ ],
1114
+ source_address: "did:bid:efC5REiFesaBuu1UXbMJWvEsqFRkQKiq",
1115
+ nonce: 50294,
1116
+ },
1117
+ },
1118
+ ],
1119
+ },
1120
+ success: true,
1121
+ error_code: 0,
1122
+ error_desc: "ok",
1123
+ };
1124
+
1125
+ // 设置模拟对象的行为
1126
+ baseServiceMock
1127
+ .expects("getTransactionCachePlat")
1128
+ .withArgs(sinon.match.any)
1129
+ .resolves(GetTransactionCachePlatResponse.fromJSON(platResponseJson));
1130
+ let request: GetTransactionCacheRequest;
1131
+ let response: GetTransactionCachePlatResponse;
1132
+ response = await bop.getTransactionCache(request);
1133
+ console.log(response);
1134
+ console.log(response.result?.transactions[0]);
1135
+ expect(response.result?.transactions[0].hash).to.equal(
1136
+ "e6366d3ae7231e8f59d44b710521dce671abd9d1c37c2e2b23736b12665e6547",
1137
+ );
1138
+ expect(response.result?.totalCount).to.equal(1);
1139
+
1140
+ // 验证模拟对象的方法调用
1141
+ baseServiceMock.verify();
1142
+ });
1143
+
1144
+ it("bop.getTransactionCache address empty", async () => {
1145
+ let request: GetTransactionCacheRequest = {
1146
+ address: "",
1147
+ };
1148
+ let response: GetTransactionCachePlatResponse;
1149
+ response = await bop.getTransactionCache(request);
1150
+ console.log(response);
1151
+ });
1152
+
1153
+ it("bop.getTransactionCache address invalid", async () => {
1154
+ let request: GetTransactionCacheRequest = {
1155
+ address: "xxx",
1156
+ };
1157
+ let response: GetTransactionCachePlatResponse;
1158
+ response = await bop.getTransactionCache(request);
1159
+ console.log(response);
1160
+ expect(response.errorCode).to.equal(4);
1161
+ });
1162
+
1163
+ it("bop.getTransactionCache hash invalid", async () => {
1164
+ let request: GetTransactionCacheRequest = {
1165
+ hash: "xxx",
1166
+ };
1167
+ let response: GetTransactionCachePlatResponse;
1168
+ response = await bop.getTransactionCache(request);
1169
+ console.log(response);
1170
+ });
1171
+
1172
+ it("bop.getTransactionCache limit negative", async () => {
1173
+ let request: GetTransactionCacheRequest = {
1174
+ limit: -1,
1175
+ };
1176
+ let response: GetTransactionCachePlatResponse;
1177
+ response = await bop.getTransactionCache(request);
1178
+ console.log(response);
1179
+ expect(response.errorCode).to.equal(-9);
1180
+ });
1181
+
1182
+ it("bop.getTransactionCache limit 0", async () => {
1183
+ let request: GetTransactionCacheRequest = {
1184
+ limit: 0,
1185
+ };
1186
+ let response: GetTransactionCachePlatResponse;
1187
+ response = await bop.getTransactionCache(request);
1188
+ console.log(response);
1189
+ expect(response.errorCode).to.equal(-9);
1190
+ });
1191
+
1192
+ it("bop.getTransactionCache request null", async () => {
1193
+ let request: GetTransactionCacheRequest = {};
1194
+ let response: GetTransactionCachePlatResponse;
1195
+ response = await bop.getTransactionCache(request);
1196
+ console.log(response);
1197
+ });
1198
+
1199
+ it("bop.discard default", async () => {
1200
+ const request: DiscardRequest = {};
1201
+ let response: DiscardResponse;
1202
+ response = await bop.discard(request);
1203
+ console.log(response);
1204
+ expect(response.errorCode).to.equal(0);
1205
+ });
1206
+
1207
+ it("bop.discard with hash", async () => {
1208
+ const request: DiscardRequest = {
1209
+ hash: "18c9c9af526d2fa884e7e9def698bdf346c39e95566bfe68a5eff600dcd9ef28",
1210
+ };
1211
+ let response: DiscardResponse;
1212
+ response = await bop.discard(request);
1213
+ console.log(response);
1214
+ console.log(response.result?.transactionBases[0]);
1215
+ expect(response.errorCode).to.equal(0);
1216
+ expect(response.errorDesc).to.equal("ok");
1217
+ expect(response.success).to.equal(true);
1218
+ expect(response.result?.count).to.equal(1);
1219
+ expect(response.result?.transactionBases[0]?.hash).to.equal(
1220
+ "18c9c9af526d2fa884e7e9def698bdf346c39e95566bfe68a5eff600dcd9ef28",
1221
+ );
1222
+ });
1223
+
1224
+ it("bop.discard with page and pagesize", async () => {
1225
+ const request: DiscardRequest = {
1226
+ page: 2,
1227
+ pageSize: 1,
1228
+ };
1229
+ let response: DiscardResponse;
1230
+ response = await bop.discard(request);
1231
+ console.log(response);
1232
+ expect(response.errorCode).to.equal(0);
1233
+ });
1234
+
1235
+ it("bop.discard with invalid hash", async () => {
1236
+ const request: DiscardRequest = {
1237
+ hash: "xx",
1238
+ };
1239
+ let response: DiscardResponse;
1240
+ response = await bop.discard(request);
1241
+ console.log(response);
1242
+ expect(response.errorCode).to.equal(0);
1243
+ });
1244
+
1245
+ it("bop.discard with empty hash", async () => {
1246
+ const request: DiscardRequest = {
1247
+ hash: "",
1248
+ };
1249
+ let response: DiscardResponse;
1250
+ response = await bop.discard(request);
1251
+ console.log(response);
1252
+ console.log(response.result?.transactionBases[0]);
1253
+ expect(response.errorCode).to.equal(0);
1254
+ });
1255
+
1256
+ it("bop.discard page negative", async () => {
1257
+ const request: DiscardRequest = {
1258
+ page: -1,
1259
+ };
1260
+ let response: DiscardResponse;
1261
+ response = await bop.discard(request);
1262
+ console.log(response);
1263
+ expect(response.errorCode).to.equal(-9);
1264
+ });
1265
+
1266
+ it("bop.discard pagesize negative", async () => {
1267
+ const request: DiscardRequest = {
1268
+ pageSize: -1,
1269
+ };
1270
+ let response: DiscardResponse;
1271
+ response = await bop.discard(request);
1272
+ console.log(response);
1273
+ expect(response.errorCode).to.equal(-6);
1274
+ });
1275
+
1276
+ it("bop.query default", async () => {
1277
+ const request: QueryRequest = {};
1278
+ let response: QueryResponse;
1279
+ response = await bop.query(request);
1280
+ console.log(response);
1281
+ expect(response.errorCode).to.equal(0);
1282
+ });
1283
+
1284
+ it("bop.query with hash", async () => {
1285
+ const request: QueryRequest = {
1286
+ hash: "1b96779dab06c39c5a4d173bf0033000bd25076c7007dd03623a764ae60c9b48",
1287
+ };
1288
+ let response: QueryResponse;
1289
+ response = await bop.query(request);
1290
+ console.log(response);
1291
+ console.log(response.result?.transactionBases[0]);
1292
+ expect(response.errorCode).to.equal(0);
1293
+ expect(response.errorDesc).to.equal("ok");
1294
+ expect(response.success).to.equal(true);
1295
+ expect(response.result?.count).to.equal(1);
1296
+ expect(response.result?.totalPage).to.equal(1);
1297
+ expect(response.result?.transactionBases[0]?.hash).to.equal(
1298
+ "1b96779dab06c39c5a4d173bf0033000bd25076c7007dd03623a764ae60c9b48",
1299
+ );
1300
+ });
1301
+
1302
+ it("bop.query tx_type and hash", async () => {
1303
+ const request: QueryRequest = {
1304
+ txType: QueryRequest_TxType.BASE_TX,
1305
+ hash: "6e12c6b6dfec2bd743e07d93467cad5c7b9810593ea42de1fcb4d7481921d311",
1306
+ };
1307
+ let response: QueryResponse;
1308
+ response = await bop.query(request);
1309
+ console.log(response);
1310
+ console.log(response.result?.transactionBases[0]);
1311
+ expect(response.errorCode).to.equal(0);
1312
+ expect(response.errorDesc).to.equal("ok");
1313
+ expect(response.success).to.equal(true);
1314
+ expect(response.result?.count).to.equal(1);
1315
+ expect(response.result?.totalPage).to.equal(1);
1316
+ expect(response.result?.transactionBases[0]?.hash).to.equal(
1317
+ "6e12c6b6dfec2bd743e07d93467cad5c7b9810593ea42de1fcb4d7481921d311",
1318
+ );
1319
+ });
1320
+
1321
+ it("bop.query tx_type and page & pagesize", async () => {
1322
+ const request: QueryRequest = {
1323
+ txType: QueryRequest_TxType.BASE_TX,
1324
+ page: 1,
1325
+ pageSize: 1,
1326
+ };
1327
+ let response: QueryResponse;
1328
+ response = await bop.query(request);
1329
+ console.log(response);
1330
+ expect(response.errorCode).to.equal(0);
1331
+ });
1332
+
1333
+ it("bop.query tx_type and bid", async () => {
1334
+ const request: QueryRequest = {
1335
+ txType: QueryRequest_TxType.BASE_TX,
1336
+ bid: "did:bid:zfDzx5mNsB5JREptjkcGz8h4TCsAPniD",
1337
+ };
1338
+ let response: QueryResponse;
1339
+ response = await bop.query(request);
1340
+ console.log(response);
1341
+ expect(response.errorCode).to.equal(0);
1342
+ });
1343
+
1344
+ it("bop.query tx_type and starttime & endtime", async () => {
1345
+ const request: QueryRequest = {
1346
+ txType: QueryRequest_TxType.BASE_TX,
1347
+ startTime: "2025-02-11 15:07:46",
1348
+ endTime: "2025-02-11 15:09:35",
1349
+ };
1350
+ let response: QueryResponse;
1351
+ response = await bop.query(request);
1352
+ console.log(response);
1353
+ expect(response.errorCode).to.equal(0);
1354
+ expect(response.result?.transactionBases[0]?.hash).to.equal(
1355
+ "17b5fc65f69599452f63dd13a1ae04c494ba5fb5232e5d6e7a9ace47b56fb2ba",
1356
+ );
1357
+ });
1358
+
1359
+ it("bop.query tx_type and ledgerseq", async () => {
1360
+ const request: QueryRequest = {
1361
+ txType: QueryRequest_TxType.BASE_TX,
1362
+ ledgerSeq: 5844781,
1363
+ };
1364
+ let response: QueryResponse;
1365
+ response = await bop.query(request);
1366
+ console.log(response);
1367
+ expect(response.errorCode).to.equal(0);
1368
+ expect(response.result?.transactionBases[0]?.hash).to.equal(
1369
+ "17b5fc65f69599452f63dd13a1ae04c494ba5fb5232e5d6e7a9ace47b56fb2ba",
1370
+ );
1371
+ });
1372
+
1373
+ it("bop.query tx_type and bid invalid", async () => {
1374
+ const request: QueryRequest = {
1375
+ txType: QueryRequest_TxType.BASE_TX,
1376
+ bid: "xxx",
1377
+ };
1378
+ let response: QueryResponse;
1379
+ response = await bop.query(request);
1380
+ console.log(response);
1381
+ expect(response.errorCode).to.equal(0);
1382
+ });
1383
+
1384
+ it("bop.query tx_type and bid empty", async () => {
1385
+ const request: QueryRequest = {
1386
+ txType: QueryRequest_TxType.BASE_TX,
1387
+ bid: "",
1388
+ };
1389
+ let response: QueryResponse;
1390
+ response = await bop.query(request);
1391
+ console.log(response);
1392
+ expect(response.errorCode).to.equal(0);
1393
+ });
1394
+
1395
+ it("bop.query tx_type and ledgerseq 0", async () => {
1396
+ const request: QueryRequest = {
1397
+ txType: QueryRequest_TxType.BASE_TX,
1398
+ ledgerSeq: 0,
1399
+ };
1400
+ let response: QueryResponse;
1401
+ response = await bop.query(request);
1402
+ console.log(response);
1403
+ expect(response.errorCode).to.equal(0);
1404
+ });
1405
+
1406
+ it("bop.query tx_type and ledgerseq negative", async () => {
1407
+ const request: QueryRequest = {
1408
+ txType: QueryRequest_TxType.BASE_TX,
1409
+ ledgerSeq: -1,
1410
+ };
1411
+ let response: QueryResponse;
1412
+ response = await bop.query(request);
1413
+ console.log(response);
1414
+ expect(response.errorCode).to.equal(0);
1415
+ });
1416
+
1417
+ it("bop.query tx_type and ledgerseq more than max", async () => {
1418
+ const request: QueryRequest = {
1419
+ txType: QueryRequest_TxType.BASE_TX,
1420
+ ledgerSeq: 9999999999999,
1421
+ };
1422
+ let response: QueryResponse;
1423
+ response = await bop.query(request);
1424
+ console.log(response);
1425
+ expect(response.errorCode).to.equal(0);
1426
+ });
1427
+
1428
+ it("bop.query tx_type and hash invalid", async () => {
1429
+ const request: QueryRequest = {
1430
+ txType: QueryRequest_TxType.BASE_TX,
1431
+ hash: "xxx",
1432
+ };
1433
+ let response: QueryResponse;
1434
+ response = await bop.query(request);
1435
+ console.log(response);
1436
+ expect(response.errorCode).to.equal(0);
1437
+ });
1438
+
1439
+ it("bop.query tx_type and hash empty", async () => {
1440
+ const request: QueryRequest = {
1441
+ txType: QueryRequest_TxType.BASE_TX,
1442
+ hash: "",
1443
+ };
1444
+ let response: QueryResponse;
1445
+ response = await bop.query(request);
1446
+ console.log(response);
1447
+ expect(response.errorCode).to.equal(0);
1448
+ });
1449
+
1450
+ it("bop.query tx_type and txid invalid", async () => {
1451
+ const request: QueryRequest = {
1452
+ txType: QueryRequest_TxType.BASE_TX,
1453
+ txId: "xxx",
1454
+ };
1455
+ let response: QueryResponse;
1456
+ response = await bop.query(request);
1457
+ console.log(response);
1458
+ expect(response.errorCode).to.equal(0);
1459
+ });
1460
+
1461
+ it("bop.query tx_type and txid empty", async () => {
1462
+ const request: QueryRequest = {
1463
+ txType: QueryRequest_TxType.BASE_TX,
1464
+ txId: "",
1465
+ };
1466
+ let response: QueryResponse;
1467
+ response = await bop.query(request);
1468
+ console.log(response);
1469
+ expect(response.errorCode).to.equal(0);
1470
+ });
1471
+
1472
+ it("bop.query tx_type and endtime > starttime", async () => {
1473
+ const request: QueryRequest = {
1474
+ txType: QueryRequest_TxType.BASE_TX,
1475
+ startTime: "2025-02-11 15:07:46",
1476
+ endTime: "2025-02-11 15:06:46",
1477
+ };
1478
+ let response: QueryResponse;
1479
+ response = await bop.query(request);
1480
+ console.log(response);
1481
+ expect(response.errorCode).to.equal(0);
1482
+ });
1483
+
1484
+ it("bop.query tx_type and starttime & endtime invalid", async () => {
1485
+ const request: QueryRequest = {
1486
+ txType: QueryRequest_TxType.BASE_TX,
1487
+ startTime: "xxx",
1488
+ };
1489
+ let response: QueryResponse;
1490
+ response = await bop.query(request);
1491
+ console.log(response);
1492
+ expect(response.errorCode).to.equal(-1);
1493
+ });
1494
+
1495
+ it("bop.query tx_type and starttime & endtime empty", async () => {
1496
+ const request: QueryRequest = {
1497
+ txType: QueryRequest_TxType.BASE_TX,
1498
+ startTime: "",
1499
+ };
1500
+ let response: QueryResponse;
1501
+ response = await bop.query(request);
1502
+ console.log(response);
1503
+ expect(response.errorCode).to.equal(0);
1504
+ });
1505
+
1506
+ it("bop.query tx_type and txtype UNRECOGNIZED", async () => {
1507
+ const request: QueryRequest = {
1508
+ txType: QueryRequest_TxType.UNRECOGNIZED,
1509
+ };
1510
+ let response: QueryResponse;
1511
+ response = await bop.query(request);
1512
+ console.log(response);
1513
+ expect(response.errorCode).to.equal(1105);
1514
+ });
1515
+
1516
+ it("bop.query tx_type and page negative", async () => {
1517
+ const request: QueryRequest = {
1518
+ txType: QueryRequest_TxType.BASE_TX,
1519
+ page: -1,
1520
+ };
1521
+ let response: QueryResponse;
1522
+ response = await bop.query(request);
1523
+ console.log(response);
1524
+ expect(response.errorCode).to.equal(-9);
1525
+ });
1526
+
1527
+ it("bop.query tx_type and page more than max", async () => {
1528
+ const request: QueryRequest = {
1529
+ txType: QueryRequest_TxType.BASE_TX,
1530
+ page: 99999999,
1531
+ };
1532
+ let response: QueryResponse;
1533
+ response = await bop.query(request);
1534
+ console.log(response);
1535
+ expect(response.errorCode).to.equal(-1);
1536
+ });
1537
+
1538
+ it("bop.query tx_type and pagesize more than max", async () => {
1539
+ const request: QueryRequest = {
1540
+ txType: QueryRequest_TxType.BASE_TX,
1541
+ pageSize: 99999999,
1542
+ };
1543
+ let response: QueryResponse;
1544
+ response = await bop.query(request);
1545
+ console.log(response);
1546
+ expect(response.errorCode).to.equal(-9);
1547
+ });
1548
+
1549
+ it("bop.query tx_type and pagesize zero", async () => {
1550
+ const request: QueryRequest = {
1551
+ txType: QueryRequest_TxType.BASE_TX,
1552
+ pageSize: 0,
1553
+ };
1554
+ let response: QueryResponse;
1555
+ response = await bop.query(request);
1556
+ console.log(response);
1557
+ expect(response.errorCode).to.equal(-6);
1558
+ });
1559
+
1560
+ it("bop.query tx_type and pagesize negative", async () => {
1561
+ const request: QueryRequest = {
1562
+ txType: QueryRequest_TxType.BASE_TX,
1563
+ pageSize: -1,
1564
+ };
1565
+ let response: QueryResponse;
1566
+ response = await bop.query(request);
1567
+ console.log(response);
1568
+ expect(response.errorCode).to.equal(-6);
1569
+ });
1570
+ });
1571
+ });