@firmachain/firma-js 0.2.62 → 0.2.64

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