@firmachain/firma-js 0.2.44 → 0.2.46

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 (80) hide show
  1. package/dist/sdk/FirmaBankService.d.ts +2 -0
  2. package/dist/sdk/FirmaBankService.js +59 -16
  3. package/dist/sdk/FirmaConfig.js +1 -1
  4. package/dist/sdk/FirmaMintService.d.ts +6 -0
  5. package/dist/sdk/FirmaMintService.js +67 -0
  6. package/dist/sdk/FirmaSDK.d.ts +3 -1
  7. package/dist/sdk/FirmaSDK.js +4 -1
  8. package/dist/sdk/FirmaUtil.d.ts +3 -0
  9. package/dist/sdk/FirmaUtil.js +39 -0
  10. package/dist/sdk/firmachain/mint/MintQueryClient.d.ts +5 -0
  11. package/dist/sdk/firmachain/mint/MintQueryClient.js +71 -0
  12. package/dist/sdk/firmachain/mint/index.d.ts +2 -0
  13. package/dist/sdk/firmachain/mint/index.js +18 -0
  14. package/dist/test/00.wallet.test.d.ts +1 -0
  15. package/dist/test/00.wallet.test.js +87 -0
  16. package/dist/test/000./354/227/220/354/226/264/353/223/234/353/236/215_/353/246/254/354/212/244/355/205/214/354/235/264/355/201/254.test.d.ts +1 -0
  17. package/dist/test/000./354/227/220/354/226/264/353/223/234/353/236/215_/353/246/254/354/212/244/355/205/214/354/235/264/355/201/254.test.js +302 -0
  18. package/dist/test/000./354/236/254/353/213/250/352/264/200/353/240/250.test.d.ts +1 -0
  19. package/dist/test/000./354/236/254/353/213/250/352/264/200/353/240/250.test.js +436 -0
  20. package/dist/test/01.contract_tx.test.d.ts +1 -0
  21. package/dist/test/01.contract_tx.test.js +146 -0
  22. package/dist/test/02.contract_query.test.d.ts +1 -0
  23. package/dist/test/02.contract_query.test.js +219 -0
  24. package/dist/test/03.contract_scenario.test.d.ts +1 -0
  25. package/dist/test/03.contract_scenario.test.js +559 -0
  26. package/dist/test/04.bank_tx.test.d.ts +1 -0
  27. package/dist/test/04.bank_tx.test.js +124 -0
  28. package/dist/test/05.bank_query.test.d.ts +1 -0
  29. package/dist/test/05.bank_query.test.js +164 -0
  30. package/dist/test/06.feegrant_tx.test.d.ts +1 -0
  31. package/dist/test/06.feegrant_tx.test.js +173 -0
  32. package/dist/test/07.feegrant_query.test.d.ts +1 -0
  33. package/dist/test/07.feegrant_query.test.js +81 -0
  34. package/dist/test/08.gas_estimate.test.d.ts +1 -0
  35. package/dist/test/08.gas_estimate.test.js +702 -0
  36. package/dist/test/09.ipfs.test.d.ts +1 -0
  37. package/dist/test/09.ipfs.test.js +69 -0
  38. package/dist/test/10.nft_tx.test.d.ts +1 -0
  39. package/dist/test/10.nft_tx.test.js +137 -0
  40. package/dist/test/11.nft_query.test.d.ts +1 -0
  41. package/dist/test/11.nft_query.test.js +167 -0
  42. package/dist/test/12.staking_tx.test.d.ts +1 -0
  43. package/dist/test/12.staking_tx.test.js +213 -0
  44. package/dist/test/13.staking_query.test.d.ts +1 -0
  45. package/dist/test/13.staking_query.test.js +206 -0
  46. package/dist/test/14.distribution_tx.test.d.ts +1 -0
  47. package/dist/test/14.distribution_tx.test.js +176 -0
  48. package/dist/test/15.distribution_query.test.d.ts +1 -0
  49. package/dist/test/15.distribution_query.test.js +216 -0
  50. package/dist/test/16.gov_tx.test.d.ts +1 -0
  51. package/dist/test/16.gov_tx.test.js +237 -0
  52. package/dist/test/17.gov_query.test.d.ts +1 -0
  53. package/dist/test/17.gov_query.test.js +115 -0
  54. package/dist/test/18.util.test.d.ts +1 -0
  55. package/dist/test/18.util.test.js +246 -0
  56. package/dist/test/19.chain.test.d.ts +1 -0
  57. package/dist/test/19.chain.test.js +67 -0
  58. package/dist/test/20.slashing_query.test.d.ts +1 -0
  59. package/dist/test/20.slashing_query.test.js +82 -0
  60. package/dist/test/21.token_tx.test.d.ts +1 -0
  61. package/dist/test/21.token_tx.test.js +154 -0
  62. package/dist/test/22.token_query.test.d.ts +1 -0
  63. package/dist/test/22.token_query.test.js +96 -0
  64. package/dist/test/23.authz_tx.test.d.ts +1 -0
  65. package/dist/test/23.authz_tx.test.js +468 -0
  66. package/dist/test/24.authz_query.test.d.ts +1 -0
  67. package/dist/test/24.authz_query.test.js +140 -0
  68. package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
  69. package/dist/test/25.cosmwasm_tx.test.js +188 -0
  70. package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
  71. package/dist/test/26.cosmwasm_query.test.js +167 -0
  72. package/dist/test/27.arbitary_sign.test.d.ts +1 -0
  73. package/dist/test/27.arbitary_sign.test.js +164 -0
  74. package/dist/test/28.ibc_tx.test.d.ts +1 -0
  75. package/dist/test/28.ibc_tx.test.js +83 -0
  76. package/dist/test/29.mint_query.copy.d.ts +1 -0
  77. package/dist/test/29.mint_query.copy.js +54 -0
  78. package/dist/test/config_test.d.ts +5 -0
  79. package/dist/test/config_test.js +27 -0
  80. package/package.json +2 -1
@@ -0,0 +1,559 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var chai_1 = require("chai");
40
+ var FirmaSDK_1 = require("../sdk/FirmaSDK");
41
+ var FirmaUtil_1 = require("../sdk/FirmaUtil");
42
+ var config_test_1 = require("./config_test");
43
+ describe('[03. Contract scenario base test]', function () {
44
+ var donueMnemonic = config_test_1.aliceMnemonic;
45
+ var creatorMnemonic = config_test_1.bobMnemonic;
46
+ var signer1Mnemonic = "couch tonight jelly pond notice spring gold tornado cancel hover hill soft table can buyer already region bean mask cart gasp include change rent";
47
+ var signer2Mnemonic = "frozen never essence submit moon night cement omit final guilt border draft caution zoo gorilla illegal notable whisper try name orange hollow maximum arrive";
48
+ var signer3Mnemonic = "stock vapor planet van asthma upgrade scheme fuel cushion before brief knee kick lesson gun spatial protect danger they stem stay chunk critic cram";
49
+ var signer4Mnemonic = "tomorrow hospital bottom lucky insane play concert casual truly certain antique airport safe envelope relax matter cute zone boring calm pudding eyebrow mouse spawn";
50
+ var firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
51
+ var contractHash = "0xtestcontract" + Math.round(+new Date() / 1000);
52
+ it('CreateContract add', function () { return __awaiter(void 0, void 0, void 0, function () {
53
+ var donueWallet, creatorWallet, timeStamp, eventName, ownerAddress, jsonString, result;
54
+ return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
57
+ case 1:
58
+ donueWallet = _a.sent();
59
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(creatorMnemonic)];
60
+ case 2:
61
+ creatorWallet = _a.sent();
62
+ timeStamp = Math.round(+new Date() / 1000);
63
+ ;
64
+ eventName = "CreateContract";
65
+ return [4 /*yield*/, creatorWallet.getAddress()];
66
+ case 3:
67
+ ownerAddress = _a.sent();
68
+ jsonString = "{\"totalOwner\":4}";
69
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
70
+ case 4:
71
+ result = _a.sent();
72
+ (0, chai_1.expect)(result.code).equal(0);
73
+ return [2 /*return*/];
74
+ }
75
+ });
76
+ }); });
77
+ it('AddSigner - each tx add', function () { return __awaiter(void 0, void 0, void 0, function () {
78
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, timeStamp, eventName, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, jsonString, result;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
82
+ case 1:
83
+ donueWallet = _a.sent();
84
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
85
+ case 2:
86
+ signer1Wallet = _a.sent();
87
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
88
+ case 3:
89
+ signer2Wallet = _a.sent();
90
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
91
+ case 4:
92
+ signer3Wallet = _a.sent();
93
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
94
+ case 5:
95
+ signer4Wallet = _a.sent();
96
+ timeStamp = Math.round(+new Date() / 1000);
97
+ ;
98
+ eventName = "AddSigner";
99
+ return [4 /*yield*/, signer1Wallet.getAddress()];
100
+ case 6:
101
+ ownerAddress1 = _a.sent();
102
+ return [4 /*yield*/, signer2Wallet.getAddress()];
103
+ case 7:
104
+ ownerAddress2 = _a.sent();
105
+ return [4 /*yield*/, signer3Wallet.getAddress()];
106
+ case 8:
107
+ ownerAddress3 = _a.sent();
108
+ return [4 /*yield*/, signer4Wallet.getAddress()];
109
+ case 9:
110
+ ownerAddress4 = _a.sent();
111
+ jsonString = "";
112
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress1, jsonString)];
113
+ case 10:
114
+ result = _a.sent();
115
+ (0, chai_1.expect)(result.code).equal(0);
116
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress2, jsonString)];
117
+ case 11:
118
+ result = _a.sent();
119
+ (0, chai_1.expect)(result.code).equal(0);
120
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress3, jsonString)];
121
+ case 12:
122
+ result = _a.sent();
123
+ (0, chai_1.expect)(result.code).equal(0);
124
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress4, jsonString)];
125
+ case 13:
126
+ result = _a.sent();
127
+ (0, chai_1.expect)(result.code).equal(0);
128
+ return [2 /*return*/];
129
+ }
130
+ });
131
+ }); });
132
+ it('AddSigner - all tx to one sign', function () { return __awaiter(void 0, void 0, void 0, function () {
133
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, timeStamp, eventName, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, jsonString, msg1, msg2, msg3, msg4, msgArray, gas, fee, result;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
137
+ case 1:
138
+ donueWallet = _a.sent();
139
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
140
+ case 2:
141
+ signer1Wallet = _a.sent();
142
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
143
+ case 3:
144
+ signer2Wallet = _a.sent();
145
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
146
+ case 4:
147
+ signer3Wallet = _a.sent();
148
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
149
+ case 5:
150
+ signer4Wallet = _a.sent();
151
+ timeStamp = Math.round(+new Date() / 1000);
152
+ ;
153
+ eventName = "AddSigner";
154
+ return [4 /*yield*/, signer1Wallet.getAddress()];
155
+ case 6:
156
+ ownerAddress1 = _a.sent();
157
+ return [4 /*yield*/, signer2Wallet.getAddress()];
158
+ case 7:
159
+ ownerAddress2 = _a.sent();
160
+ return [4 /*yield*/, signer3Wallet.getAddress()];
161
+ case 8:
162
+ ownerAddress3 = _a.sent();
163
+ return [4 /*yield*/, signer4Wallet.getAddress()];
164
+ case 9:
165
+ ownerAddress4 = _a.sent();
166
+ jsonString = "";
167
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress1, jsonString)];
168
+ case 10:
169
+ msg1 = _a.sent();
170
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress2, jsonString)];
171
+ case 11:
172
+ msg2 = _a.sent();
173
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress3, jsonString)];
174
+ case 12:
175
+ msg3 = _a.sent();
176
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress4, jsonString)];
177
+ case 13:
178
+ msg4 = _a.sent();
179
+ msgArray = [msg1, msg2, msg3, msg4, msg1, msg2, msg3, msg4, msg1];
180
+ return [4 /*yield*/, firma.Contract.getGasEstimationSignAndBroadcast(donueWallet, msgArray)];
181
+ case 14:
182
+ gas = _a.sent();
183
+ fee = Math.ceil(gas * 0.1);
184
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(donueWallet, msgArray, { gas: gas, fee: fee })];
185
+ case 15:
186
+ result = _a.sent();
187
+ (0, chai_1.expect)(result.code).equal(0);
188
+ return [2 /*return*/];
189
+ }
190
+ });
191
+ }); });
192
+ it('SignContract - all tx to one sign', function () { return __awaiter(void 0, void 0, void 0, function () {
193
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, timeStamp, eventName, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, jsonString, msg1, msg2, msg3, msg4, result;
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
197
+ case 1:
198
+ donueWallet = _a.sent();
199
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
200
+ case 2:
201
+ signer1Wallet = _a.sent();
202
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
203
+ case 3:
204
+ signer2Wallet = _a.sent();
205
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
206
+ case 4:
207
+ signer3Wallet = _a.sent();
208
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
209
+ case 5:
210
+ signer4Wallet = _a.sent();
211
+ timeStamp = Math.round(+new Date() / 1000);
212
+ ;
213
+ eventName = "SignContract";
214
+ return [4 /*yield*/, signer1Wallet.getAddress()];
215
+ case 6:
216
+ ownerAddress1 = _a.sent();
217
+ return [4 /*yield*/, signer2Wallet.getAddress()];
218
+ case 7:
219
+ ownerAddress2 = _a.sent();
220
+ return [4 /*yield*/, signer3Wallet.getAddress()];
221
+ case 8:
222
+ ownerAddress3 = _a.sent();
223
+ return [4 /*yield*/, signer4Wallet.getAddress()];
224
+ case 9:
225
+ ownerAddress4 = _a.sent();
226
+ jsonString = "";
227
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress1, jsonString)];
228
+ case 10:
229
+ msg1 = _a.sent();
230
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress2, jsonString)];
231
+ case 11:
232
+ msg2 = _a.sent();
233
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress3, jsonString)];
234
+ case 12:
235
+ msg3 = _a.sent();
236
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress4, jsonString)];
237
+ case 13:
238
+ msg4 = _a.sent();
239
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(donueWallet, [msg1, msg2, msg3, msg4])];
240
+ case 14:
241
+ result = _a.sent();
242
+ (0, chai_1.expect)(result.code).equal(0);
243
+ return [2 /*return*/];
244
+ }
245
+ });
246
+ }); });
247
+ it('SignContract - each tx add', function () { return __awaiter(void 0, void 0, void 0, function () {
248
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, timeStamp, eventName, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, jsonString, result;
249
+ return __generator(this, function (_a) {
250
+ switch (_a.label) {
251
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
252
+ case 1:
253
+ donueWallet = _a.sent();
254
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
255
+ case 2:
256
+ signer1Wallet = _a.sent();
257
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
258
+ case 3:
259
+ signer2Wallet = _a.sent();
260
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
261
+ case 4:
262
+ signer3Wallet = _a.sent();
263
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
264
+ case 5:
265
+ signer4Wallet = _a.sent();
266
+ timeStamp = Math.round(+new Date() / 1000);
267
+ ;
268
+ eventName = "SignContract";
269
+ return [4 /*yield*/, signer1Wallet.getAddress()];
270
+ case 6:
271
+ ownerAddress1 = _a.sent();
272
+ return [4 /*yield*/, signer2Wallet.getAddress()];
273
+ case 7:
274
+ ownerAddress2 = _a.sent();
275
+ return [4 /*yield*/, signer3Wallet.getAddress()];
276
+ case 8:
277
+ ownerAddress3 = _a.sent();
278
+ return [4 /*yield*/, signer4Wallet.getAddress()];
279
+ case 9:
280
+ ownerAddress4 = _a.sent();
281
+ jsonString = "";
282
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress1, jsonString)];
283
+ case 10:
284
+ result = _a.sent();
285
+ (0, chai_1.expect)(result.code).equal(0);
286
+ timeStamp = Math.round(+new Date() / 1000);
287
+ ;
288
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress2, jsonString)];
289
+ case 11:
290
+ result = _a.sent();
291
+ (0, chai_1.expect)(result.code).equal(0);
292
+ timeStamp = Math.round(+new Date() / 1000);
293
+ ;
294
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress3, jsonString)];
295
+ case 12:
296
+ result = _a.sent();
297
+ (0, chai_1.expect)(result.code).equal(0);
298
+ timeStamp = Math.round(+new Date() / 1000);
299
+ ;
300
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress4, jsonString)];
301
+ case 13:
302
+ result = _a.sent();
303
+ (0, chai_1.expect)(result.code).equal(0);
304
+ return [2 /*return*/];
305
+ }
306
+ });
307
+ }); });
308
+ it('RejectContract - one user reject', function () { return __awaiter(void 0, void 0, void 0, function () {
309
+ var donueWallet, signer1Wallet, timeStamp, eventName, ownerAddress1, jsonString, result;
310
+ return __generator(this, function (_a) {
311
+ switch (_a.label) {
312
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
313
+ case 1:
314
+ donueWallet = _a.sent();
315
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
316
+ case 2:
317
+ signer1Wallet = _a.sent();
318
+ timeStamp = Math.round(+new Date() / 1000);
319
+ ;
320
+ eventName = "RejectContract";
321
+ return [4 /*yield*/, signer1Wallet.getAddress()];
322
+ case 3:
323
+ ownerAddress1 = _a.sent();
324
+ jsonString = "";
325
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, ownerAddress1, jsonString)];
326
+ case 4:
327
+ result = _a.sent();
328
+ (0, chai_1.expect)(result.code).equal(0);
329
+ return [2 /*return*/];
330
+ }
331
+ });
332
+ }); });
333
+ it('DestroyContract - after reject, destroy contract', function () { return __awaiter(void 0, void 0, void 0, function () {
334
+ var donueWallet, creatorWallet, signer1Wallet, timeStamp, eventName, creatorAddress, ownerAddress1, jsonString, result;
335
+ return __generator(this, function (_a) {
336
+ switch (_a.label) {
337
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
338
+ case 1:
339
+ donueWallet = _a.sent();
340
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(creatorMnemonic)];
341
+ case 2:
342
+ creatorWallet = _a.sent();
343
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
344
+ case 3:
345
+ signer1Wallet = _a.sent();
346
+ timeStamp = Math.round(+new Date() / 1000);
347
+ ;
348
+ eventName = "DestroyContract";
349
+ return [4 /*yield*/, creatorWallet.getAddress()];
350
+ case 4:
351
+ creatorAddress = _a.sent();
352
+ return [4 /*yield*/, signer1Wallet.getAddress()];
353
+ case 5:
354
+ ownerAddress1 = _a.sent();
355
+ jsonString = "{\"Notes\": \"" + "Reject Contract by " + ownerAddress1 + "\"" + "}";
356
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, creatorAddress, jsonString)];
357
+ case 6:
358
+ result = _a.sent();
359
+ (0, chai_1.expect)(result.code).equal(0);
360
+ return [2 /*return*/];
361
+ }
362
+ });
363
+ }); });
364
+ it('CompleteContract - all user complte sign and make fileHash, write to chain', function () { return __awaiter(void 0, void 0, void 0, function () {
365
+ var donueWallet, creatorWallet, timeStamp, eventName, creatorAddress, fileHash, jsonString, result;
366
+ return __generator(this, function (_a) {
367
+ switch (_a.label) {
368
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
369
+ case 1:
370
+ donueWallet = _a.sent();
371
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(creatorMnemonic)];
372
+ case 2:
373
+ creatorWallet = _a.sent();
374
+ timeStamp = Math.round(+new Date() / 1000);
375
+ ;
376
+ eventName = "CompleteContract";
377
+ return [4 /*yield*/, creatorWallet.getAddress()];
378
+ case 3:
379
+ creatorAddress = _a.sent();
380
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
381
+ case 4:
382
+ fileHash = _a.sent();
383
+ jsonString = "{\"fileHash\": \"" + fileHash + "\"" + "}";
384
+ return [4 /*yield*/, firma.Contract.addContractLog(donueWallet, contractHash, timeStamp, eventName, creatorAddress, jsonString)];
385
+ case 5:
386
+ result = _a.sent();
387
+ (0, chai_1.expect)(result.code).equal(0);
388
+ return [2 /*return*/];
389
+ }
390
+ });
391
+ }); });
392
+ it('CryptoJS.AES.encrypt Test - after CompleteContract, encrypt fileHash by signer private key', function () { return __awaiter(void 0, void 0, void 0, function () {
393
+ var signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, ipfsFileHash, encryptHash, decryptHash;
394
+ return __generator(this, function (_a) {
395
+ switch (_a.label) {
396
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
397
+ case 1:
398
+ signer1Wallet = _a.sent();
399
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
400
+ case 2:
401
+ signer2Wallet = _a.sent();
402
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
403
+ case 3:
404
+ signer3Wallet = _a.sent();
405
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
406
+ case 4:
407
+ signer4Wallet = _a.sent();
408
+ ipfsFileHash = "Qmf412jQZiuVUtdgnB36FXFX7xg5V6KEbSJ4dpQuhkLyfD";
409
+ encryptHash = signer1Wallet.encryptData(ipfsFileHash);
410
+ decryptHash = signer1Wallet.decryptData(encryptHash);
411
+ (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
412
+ encryptHash = signer2Wallet.encryptData(ipfsFileHash);
413
+ decryptHash = signer2Wallet.decryptData(encryptHash);
414
+ (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
415
+ encryptHash = signer3Wallet.encryptData(ipfsFileHash);
416
+ decryptHash = signer3Wallet.decryptData(encryptHash);
417
+ (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
418
+ encryptHash = signer4Wallet.encryptData(ipfsFileHash);
419
+ decryptHash = signer4Wallet.decryptData(encryptHash);
420
+ (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
421
+ return [2 /*return*/];
422
+ }
423
+ });
424
+ }); });
425
+ it('createContractFile - CompleteContract, after private sign, write to chain by new message', function () { return __awaiter(void 0, void 0, void 0, function () {
426
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, timeStamp, fileHash, ipfsHash, encryptHash1, encryptHash2, encryptHash3, encryptHash4, jsonData, jsonString, result, contractFile, metaData, decryptHash1, decryptHash2, decryptHash3, decryptHash4;
427
+ return __generator(this, function (_a) {
428
+ switch (_a.label) {
429
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
430
+ case 1:
431
+ donueWallet = _a.sent();
432
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
433
+ case 2:
434
+ signer1Wallet = _a.sent();
435
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
436
+ case 3:
437
+ signer2Wallet = _a.sent();
438
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
439
+ case 4:
440
+ signer3Wallet = _a.sent();
441
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
442
+ case 5:
443
+ signer4Wallet = _a.sent();
444
+ return [4 /*yield*/, signer1Wallet.getAddress()];
445
+ case 6:
446
+ ownerAddress1 = _a.sent();
447
+ return [4 /*yield*/, signer2Wallet.getAddress()];
448
+ case 7:
449
+ ownerAddress2 = _a.sent();
450
+ return [4 /*yield*/, signer3Wallet.getAddress()];
451
+ case 8:
452
+ ownerAddress3 = _a.sent();
453
+ return [4 /*yield*/, signer4Wallet.getAddress()];
454
+ case 9:
455
+ ownerAddress4 = _a.sent();
456
+ timeStamp = Math.round(+new Date() / 1000);
457
+ ;
458
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
459
+ case 10:
460
+ fileHash = (_a.sent()) + timeStamp;
461
+ return [4 /*yield*/, firma.Ipfs.addJson(fileHash)];
462
+ case 11:
463
+ ipfsHash = _a.sent();
464
+ encryptHash1 = signer1Wallet.encryptData(ipfsHash);
465
+ encryptHash2 = signer2Wallet.encryptData(ipfsHash);
466
+ encryptHash3 = signer3Wallet.encryptData(ipfsHash);
467
+ encryptHash4 = signer4Wallet.encryptData(ipfsHash);
468
+ jsonData = {
469
+ "storage": "ipfs",
470
+ "encryptIpfsHash": [encryptHash1, encryptHash2, encryptHash3, encryptHash4]
471
+ };
472
+ jsonString = JSON.stringify(jsonData);
473
+ return [4 /*yield*/, firma.Contract.createContractFile(donueWallet, fileHash, timeStamp, [ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4], jsonString)];
474
+ case 12:
475
+ result = _a.sent();
476
+ (0, chai_1.expect)(result.code).equal(0);
477
+ return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
478
+ case 13:
479
+ contractFile = _a.sent();
480
+ (0, chai_1.expect)(contractFile.fileHash).equal(fileHash);
481
+ metaData = JSON.parse(contractFile.metaDataJsonString);
482
+ decryptHash1 = signer1Wallet.decryptData(metaData.encryptIpfsHash[0]);
483
+ (0, chai_1.expect)(decryptHash1).equal(ipfsHash);
484
+ decryptHash2 = signer2Wallet.decryptData(metaData.encryptIpfsHash[1]);
485
+ (0, chai_1.expect)(decryptHash2).equal(ipfsHash);
486
+ decryptHash3 = signer3Wallet.decryptData(metaData.encryptIpfsHash[2]);
487
+ (0, chai_1.expect)(decryptHash3).equal(ipfsHash);
488
+ decryptHash4 = signer4Wallet.decryptData(metaData.encryptIpfsHash[3]);
489
+ (0, chai_1.expect)(decryptHash4).equal(ipfsHash);
490
+ return [2 /*return*/];
491
+ }
492
+ });
493
+ }); });
494
+ it('createContractFile - CompleteContract, after private sign, write to chain by new message. error scenario (duplicate)', function () { return __awaiter(void 0, void 0, void 0, function () {
495
+ var donueWallet, signer1Wallet, signer2Wallet, signer3Wallet, signer4Wallet, ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4, timeStamp, fileHash, ipfsFileHash, encryptHash1, encryptHash2, encryptHash3, encryptHash4, jsonData, jsonString, result, contractFile, e_1;
496
+ return __generator(this, function (_a) {
497
+ switch (_a.label) {
498
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(donueMnemonic)];
499
+ case 1:
500
+ donueWallet = _a.sent();
501
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer1Mnemonic)];
502
+ case 2:
503
+ signer1Wallet = _a.sent();
504
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer2Mnemonic)];
505
+ case 3:
506
+ signer2Wallet = _a.sent();
507
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer3Mnemonic)];
508
+ case 4:
509
+ signer3Wallet = _a.sent();
510
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(signer4Mnemonic)];
511
+ case 5:
512
+ signer4Wallet = _a.sent();
513
+ return [4 /*yield*/, signer1Wallet.getAddress()];
514
+ case 6:
515
+ ownerAddress1 = _a.sent();
516
+ return [4 /*yield*/, signer2Wallet.getAddress()];
517
+ case 7:
518
+ ownerAddress2 = _a.sent();
519
+ return [4 /*yield*/, signer3Wallet.getAddress()];
520
+ case 8:
521
+ ownerAddress3 = _a.sent();
522
+ return [4 /*yield*/, signer4Wallet.getAddress()];
523
+ case 9:
524
+ ownerAddress4 = _a.sent();
525
+ timeStamp = Math.round(+new Date() / 1000);
526
+ ;
527
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
528
+ case 10:
529
+ fileHash = _a.sent();
530
+ ipfsFileHash = "Qmf412jQZiuVUtdgnB36FXFX7xg5V6KEbSJ4dpQuhkLyfD";
531
+ encryptHash1 = signer1Wallet.encryptData(ipfsFileHash);
532
+ encryptHash2 = signer2Wallet.encryptData(ipfsFileHash);
533
+ encryptHash3 = signer3Wallet.encryptData(ipfsFileHash);
534
+ encryptHash4 = signer4Wallet.encryptData(ipfsFileHash);
535
+ jsonData = {
536
+ "storage": "ipfs",
537
+ "encryptIpfsHash": [encryptHash1, encryptHash2, encryptHash3, encryptHash4]
538
+ };
539
+ jsonString = JSON.stringify(jsonData);
540
+ _a.label = 11;
541
+ case 11:
542
+ _a.trys.push([11, 14, , 15]);
543
+ return [4 /*yield*/, firma.Contract.createContractFile(donueWallet, fileHash, timeStamp, [ownerAddress1, ownerAddress2, ownerAddress3, ownerAddress4], jsonString)];
544
+ case 12:
545
+ result = _a.sent();
546
+ (0, chai_1.expect)(result.code).not.equals(0);
547
+ return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
548
+ case 13:
549
+ contractFile = _a.sent();
550
+ (0, chai_1.expect)(contractFile.fileHash).equal(fileHash);
551
+ return [3 /*break*/, 15];
552
+ case 14:
553
+ e_1 = _a.sent();
554
+ return [3 /*break*/, 15];
555
+ case 15: return [2 /*return*/];
556
+ }
557
+ });
558
+ }); });
559
+ });
@@ -0,0 +1 @@
1
+ export {};