@firmachain/firma-js 0.2.62 → 0.3.0-beta1

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 (243) hide show
  1. package/README.md +4 -1
  2. package/dist/sdk/FirmaAuthzService.d.ts +8 -8
  3. package/dist/sdk/FirmaAuthzService.js +12 -6
  4. package/dist/sdk/FirmaBankService.d.ts +4 -4
  5. package/dist/sdk/FirmaContractService.d.ts +4 -4
  6. package/dist/sdk/FirmaCosmWasmCw20.d.ts +14 -14
  7. package/dist/sdk/FirmaCosmWasmCw721.d.ts +31 -13
  8. package/dist/sdk/FirmaCosmWasmCw721.js +25 -0
  9. package/dist/sdk/FirmaCosmWasmCwBridge.d.ts +9 -9
  10. package/dist/sdk/FirmaCosmWasmCwMarketplace.d.ts +8 -8
  11. package/dist/sdk/FirmaCosmWasmService.d.ts +8 -8
  12. package/dist/sdk/FirmaCosmWasmService.js +2 -3
  13. package/dist/sdk/FirmaDistributionService.d.ts +6 -6
  14. package/dist/sdk/FirmaFeeGrantService.d.ts +4 -4
  15. package/dist/sdk/FirmaGovService.d.ts +12 -9
  16. package/dist/sdk/FirmaGovService.js +162 -97
  17. package/dist/sdk/FirmaIbcService.d.ts +3 -4
  18. package/dist/sdk/FirmaIbcService.js +5 -2
  19. package/dist/sdk/FirmaNftService.d.ts +5 -5
  20. package/dist/sdk/FirmaStakingService.d.ts +6 -6
  21. package/dist/sdk/FirmaTokenService.d.ts +5 -5
  22. package/dist/sdk/FirmaUtil.d.ts +1 -1
  23. package/dist/sdk/FirmaUtil.js +12 -14
  24. package/dist/sdk/firmachain/amino/addresses.js +1 -1
  25. package/dist/sdk/firmachain/amino/aminomsgs.d.ts +10 -0
  26. package/dist/sdk/firmachain/amino/aminomsgs.js +5 -1
  27. package/dist/sdk/firmachain/amino/aminotypes.js +27 -10
  28. package/dist/sdk/firmachain/amino/coins.d.ts +14 -2
  29. package/dist/sdk/firmachain/amino/coins.js +26 -5
  30. package/dist/sdk/firmachain/amino/encoding.d.ts +10 -1
  31. package/dist/sdk/firmachain/amino/encoding.js +21 -3
  32. package/dist/sdk/firmachain/amino/signdoc.d.ts +21 -3
  33. package/dist/sdk/firmachain/amino/signdoc.js +37 -11
  34. package/dist/sdk/firmachain/amino/signer.d.ts +2 -1
  35. package/dist/sdk/firmachain/authz/AuthzTxTypes.d.ts +7 -6
  36. package/dist/sdk/firmachain/authz/AuthzTxTypes.js +7 -6
  37. package/dist/sdk/firmachain/bank/BankQueryClient.js +1 -1
  38. package/dist/sdk/firmachain/common/CommonTxClient.js +11 -9
  39. package/dist/sdk/firmachain/common/ITxClient.d.ts +6 -6
  40. package/dist/sdk/firmachain/common/ITxClient.js +82 -24
  41. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.d.ts +4 -9
  42. package/dist/sdk/firmachain/common/LedgerSigningStargateClient.js +37 -32
  43. package/dist/sdk/firmachain/common/LedgerWallet.js +4 -8
  44. package/dist/sdk/firmachain/common/TxCommon.d.ts +1 -2
  45. package/dist/sdk/firmachain/common/accounts.d.ts +7 -3
  46. package/dist/sdk/firmachain/common/accounts.js +28 -33
  47. package/dist/sdk/firmachain/common/aminotypes.d.ts +19 -0
  48. package/dist/sdk/firmachain/common/aminotypes.js +74 -0
  49. package/dist/sdk/firmachain/common/events.d.ts +32 -0
  50. package/dist/sdk/firmachain/common/events.js +18 -0
  51. package/dist/sdk/firmachain/common/fee.d.ts +26 -0
  52. package/dist/sdk/firmachain/common/fee.js +83 -0
  53. package/dist/sdk/firmachain/common/index.d.ts +1 -0
  54. package/dist/sdk/firmachain/common/index.js +3 -0
  55. package/dist/sdk/firmachain/common/modules/auth/queries.d.ts +15 -0
  56. package/dist/sdk/firmachain/common/modules/auth/queries.js +64 -0
  57. package/dist/sdk/firmachain/common/modules/authz/aminomessages.d.ts +2 -0
  58. package/dist/sdk/firmachain/common/modules/authz/aminomessages.js +15 -0
  59. package/dist/sdk/firmachain/common/modules/authz/messages.d.ts +2 -0
  60. package/dist/sdk/firmachain/common/modules/authz/messages.js +9 -0
  61. package/dist/sdk/firmachain/common/modules/authz/queries.d.ts +10 -0
  62. package/dist/sdk/firmachain/common/modules/authz/queries.js +88 -0
  63. package/dist/sdk/firmachain/common/modules/bank/aminomessages.d.ts +35 -0
  64. package/dist/sdk/firmachain/common/modules/bank/aminomessages.js +85 -0
  65. package/dist/sdk/firmachain/common/modules/bank/messages.d.ts +8 -0
  66. package/dist/sdk/firmachain/common/modules/bank/messages.js +12 -0
  67. package/dist/sdk/firmachain/common/modules/bank/queries.d.ts +15 -0
  68. package/dist/sdk/firmachain/common/modules/bank/queries.js +128 -0
  69. package/dist/sdk/firmachain/common/modules/crisis/aminomessages.d.ts +14 -0
  70. package/dist/sdk/firmachain/common/modules/crisis/aminomessages.js +11 -0
  71. package/dist/sdk/firmachain/common/modules/distribution/aminomessages.d.ts +44 -0
  72. package/dist/sdk/firmachain/common/modules/distribution/aminomessages.js +113 -0
  73. package/dist/sdk/firmachain/common/modules/distribution/messages.d.ts +8 -0
  74. package/dist/sdk/firmachain/common/modules/distribution/messages.js +15 -0
  75. package/dist/sdk/firmachain/common/modules/distribution/queries.d.ts +16 -0
  76. package/dist/sdk/firmachain/common/modules/distribution/queries.js +171 -0
  77. package/dist/sdk/firmachain/common/modules/evidence/aminomessages.d.ts +18 -0
  78. package/dist/sdk/firmachain/common/modules/evidence/aminomessages.js +11 -0
  79. package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.d.ts +2 -0
  80. package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.js +14 -0
  81. package/dist/sdk/firmachain/common/modules/feegrant/messages.d.ts +2 -0
  82. package/dist/sdk/firmachain/common/modules/feegrant/messages.js +8 -0
  83. package/dist/sdk/firmachain/common/modules/feegrant/queries.d.ts +9 -0
  84. package/dist/sdk/firmachain/common/modules/feegrant/queries.js +81 -0
  85. package/dist/sdk/firmachain/common/modules/gov/aminomessages.d.ts +79 -0
  86. package/dist/sdk/firmachain/common/modules/gov/aminomessages.js +152 -0
  87. package/dist/sdk/firmachain/common/modules/gov/messages.d.ts +29 -0
  88. package/dist/sdk/firmachain/common/modules/gov/messages.js +38 -0
  89. package/dist/sdk/firmachain/common/modules/gov/queries.d.ts +19 -0
  90. package/dist/sdk/firmachain/common/modules/gov/queries.js +160 -0
  91. package/dist/sdk/firmachain/common/modules/group/aminomessages.d.ts +2 -0
  92. package/dist/sdk/firmachain/common/modules/group/aminomessages.js +8 -0
  93. package/dist/sdk/firmachain/common/modules/group/messages.d.ts +2 -0
  94. package/dist/sdk/firmachain/common/modules/group/messages.js +28 -0
  95. package/dist/sdk/firmachain/common/modules/ibc/aminomessages.d.ts +38 -0
  96. package/dist/sdk/firmachain/common/modules/ibc/aminomessages.js +55 -0
  97. package/dist/sdk/firmachain/common/modules/ibc/messages.d.ts +8 -0
  98. package/dist/sdk/firmachain/common/modules/ibc/messages.js +32 -0
  99. package/dist/sdk/firmachain/common/modules/ibc/queries.d.ts +58 -0
  100. package/dist/sdk/firmachain/common/modules/ibc/queries.js +576 -0
  101. package/dist/sdk/firmachain/common/modules/index.d.ts +32 -0
  102. package/dist/sdk/firmachain/common/modules/index.js +101 -0
  103. package/dist/sdk/firmachain/common/modules/mint/queries.d.ts +21 -0
  104. package/dist/sdk/firmachain/common/modules/mint/queries.js +95 -0
  105. package/dist/sdk/firmachain/common/modules/slashing/aminomessages.d.ts +12 -0
  106. package/dist/sdk/firmachain/common/modules/slashing/aminomessages.js +11 -0
  107. package/dist/sdk/firmachain/common/modules/slashing/queries.d.ts +10 -0
  108. package/dist/sdk/firmachain/common/modules/slashing/queries.js +88 -0
  109. package/dist/sdk/firmachain/common/modules/staking/aminomessages.d.ts +112 -0
  110. package/dist/sdk/firmachain/common/modules/staking/aminomessages.js +234 -0
  111. package/dist/sdk/firmachain/common/modules/staking/messages.d.ts +33 -0
  112. package/dist/sdk/firmachain/common/modules/staking/messages.js +37 -0
  113. package/dist/sdk/firmachain/common/modules/staking/queries.d.ts +23 -0
  114. package/dist/sdk/firmachain/common/modules/staking/queries.js +242 -0
  115. package/dist/sdk/firmachain/common/modules/tx/queries.d.ts +11 -0
  116. package/dist/sdk/firmachain/common/modules/tx/queries.js +103 -0
  117. package/dist/sdk/firmachain/common/modules/vesting/aminomessages.d.ts +16 -0
  118. package/dist/sdk/firmachain/common/modules/vesting/aminomessages.js +56 -0
  119. package/dist/sdk/firmachain/common/modules/vesting/messages.d.ts +2 -0
  120. package/dist/sdk/firmachain/common/modules/vesting/messages.js +7 -0
  121. package/dist/sdk/firmachain/common/queryclient/index.d.ts +2 -0
  122. package/dist/sdk/firmachain/common/queryclient/index.js +10 -0
  123. package/dist/sdk/firmachain/common/queryclient/queryclient.d.ts +75 -0
  124. package/dist/sdk/firmachain/common/queryclient/queryclient.js +157 -0
  125. package/dist/sdk/firmachain/common/queryclient/utils.d.ts +33 -0
  126. package/dist/sdk/firmachain/common/queryclient/utils.js +101 -0
  127. package/dist/sdk/firmachain/common/search.d.ts +10 -0
  128. package/dist/sdk/firmachain/common/search.js +7 -0
  129. package/dist/sdk/firmachain/common/signing.d.ts +8 -3
  130. package/dist/sdk/firmachain/common/signing.js +24 -12
  131. package/dist/sdk/firmachain/common/signingstargateclient.d.ts +107 -30
  132. package/dist/sdk/firmachain/common/signingstargateclient.js +445 -128
  133. package/dist/sdk/firmachain/common/stargateclient.d.ts +184 -20
  134. package/dist/sdk/firmachain/common/stargateclient.js +351 -35
  135. package/dist/sdk/firmachain/contract/ContractTxClient.d.ts +2 -2
  136. package/dist/sdk/firmachain/contract/ContractTxClient.js +4 -4
  137. package/dist/sdk/firmachain/contract/ContractTxTypes.d.ts +1 -1
  138. package/dist/sdk/firmachain/contract/ContractTxTypes.js +3 -3
  139. package/dist/sdk/firmachain/cosmwasm/CosmWasmQueryClient.js +1 -1
  140. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +5 -5
  141. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.js +10 -8
  142. package/dist/sdk/firmachain/google/protobuf/any.d.ts +3 -2
  143. package/dist/sdk/firmachain/google/protobuf/any.js +2 -1
  144. package/dist/sdk/firmachain/google/protobuf/duration.d.ts +3 -2
  145. package/dist/sdk/firmachain/google/protobuf/duration.js +2 -1
  146. package/dist/sdk/firmachain/google/protobuf/timestamp.d.ts +3 -2
  147. package/dist/sdk/firmachain/google/protobuf/timestamp.js +2 -1
  148. package/dist/sdk/firmachain/gov/GovTxClient.d.ts +6 -0
  149. package/dist/sdk/firmachain/gov/GovTxClient.js +6 -1
  150. package/dist/sdk/firmachain/nft/NftTxClient.d.ts +3 -3
  151. package/dist/sdk/firmachain/nft/NftTxClient.js +6 -6
  152. package/dist/sdk/firmachain/nft/NftTxTypes.d.ts +1 -1
  153. package/dist/sdk/firmachain/nft/NftTxTypes.js +4 -4
  154. package/dist/sdk/firmachain/staking/StakingQueryClient.js +0 -1
  155. package/dist/sdk/firmachain/token/TokenTxClient.d.ts +4 -4
  156. package/dist/sdk/firmachain/token/TokenTxClient.js +8 -8
  157. package/dist/sdk/firmachain/token/TokenTxTypes.d.ts +1 -1
  158. package/dist/sdk/firmachain/token/TokenTxTypes.js +5 -5
  159. package/dist/test/00.wallet.test.d.ts +1 -0
  160. package/dist/test/00.wallet.test.js +96 -0
  161. package/dist/test/01.contract_tx.test.d.ts +1 -0
  162. package/dist/test/01.contract_tx.test.js +157 -0
  163. package/dist/test/02.contract_query.test.d.ts +1 -0
  164. package/dist/test/02.contract_query.test.js +245 -0
  165. package/dist/test/03.contract_scenario.test.d.ts +1 -0
  166. package/dist/test/03.contract_scenario.test.js +406 -0
  167. package/dist/test/04.bank_tx.test.d.ts +1 -0
  168. package/dist/test/04.bank_tx.test.js +126 -0
  169. package/dist/test/05.bank_query.test.d.ts +1 -0
  170. package/dist/test/05.bank_query.test.js +162 -0
  171. package/dist/test/06.feegrant_tx.test.d.ts +1 -0
  172. package/dist/test/06.feegrant_tx.test.js +161 -0
  173. package/dist/test/07.feegrant_query.test.d.ts +1 -0
  174. package/dist/test/07.feegrant_query.test.js +126 -0
  175. package/dist/test/08.gas_estimate.test.d.ts +1 -0
  176. package/dist/test/08.gas_estimate.test.js +675 -0
  177. package/dist/test/09.ipfs.test.d.ts +1 -0
  178. package/dist/test/09.ipfs.test.js +72 -0
  179. package/dist/test/10.nft_tx.test.d.ts +1 -0
  180. package/dist/test/10.nft_tx.test.js +209 -0
  181. package/dist/test/11.nft_query.test.d.ts +1 -0
  182. package/dist/test/11.nft_query.test.js +165 -0
  183. package/dist/test/12.staking_tx.test.d.ts +1 -0
  184. package/dist/test/12.staking_tx.test.js +199 -0
  185. package/dist/test/13.staking_query.test.d.ts +1 -0
  186. package/dist/test/13.staking_query.test.js +263 -0
  187. package/dist/test/14.distribution_tx.test.d.ts +1 -0
  188. package/dist/test/14.distribution_tx.test.js +170 -0
  189. package/dist/test/15.distribution_query.test.d.ts +1 -0
  190. package/dist/test/15.distribution_query.test.js +243 -0
  191. package/dist/test/16.gov_tx.test.d.ts +1 -0
  192. package/dist/test/16.gov_tx.test.js +311 -0
  193. package/dist/test/17.gov_query.test.d.ts +1 -0
  194. package/dist/test/17.gov_query.test.js +157 -0
  195. package/dist/test/18.util.test.d.ts +1 -0
  196. package/dist/test/18.util.test.js +251 -0
  197. package/dist/test/19.chain.test.d.ts +1 -0
  198. package/dist/test/19.chain.test.js +127 -0
  199. package/dist/test/20.slashing_query.test.d.ts +1 -0
  200. package/dist/test/20.slashing_query.test.js +112 -0
  201. package/dist/test/21.token_tx.test.d.ts +1 -0
  202. package/dist/test/21.token_tx.test.js +149 -0
  203. package/dist/test/22.token_query.test.d.ts +1 -0
  204. package/dist/test/22.token_query.test.js +103 -0
  205. package/dist/test/23.authz_tx.test.d.ts +1 -0
  206. package/dist/test/23.authz_tx.test.js +350 -0
  207. package/dist/test/24.authz_query.test.d.ts +1 -0
  208. package/dist/test/24.authz_query.test.js +203 -0
  209. package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
  210. package/dist/test/25.cosmwasm_tx.test.js +229 -0
  211. package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
  212. package/dist/test/26.cosmwasm_query.test.js +209 -0
  213. package/dist/test/27.arbitary_sign.test.d.ts +1 -0
  214. package/dist/test/27.arbitary_sign.test.js +159 -0
  215. package/dist/test/28.ibc_tx.test.d.ts +1 -0
  216. package/dist/test/28.ibc_tx.test.js +98 -0
  217. package/dist/test/29.mint_query.test.d.ts +1 -0
  218. package/dist/test/29.mint_query.test.js +59 -0
  219. package/dist/test/30.cw20_tx.test.d.ts +1 -0
  220. package/dist/test/30.cw20_tx.test.js +450 -0
  221. package/dist/test/31.cw20_query.test.d.ts +1 -0
  222. package/dist/test/31.cw20_query.test.js +333 -0
  223. package/dist/test/32.cw721_tx.test.d.ts +1 -0
  224. package/dist/test/32.cw721_tx.test.js +431 -0
  225. package/dist/test/33.cw721_query.test.d.ts +1 -0
  226. package/dist/test/33.cw721_query.test.js +371 -0
  227. package/dist/test/34.cw_bridge_tx.test.d.ts +1 -0
  228. package/dist/test/34.cw_bridge_tx.test.js +476 -0
  229. package/dist/test/35.cw_bridge_tx_low.test.d.ts +1 -0
  230. package/dist/test/35.cw_bridge_tx_low.test.js +398 -0
  231. package/dist/test/36.cw_bridge_query.test.d.ts +1 -0
  232. package/dist/test/36.cw_bridge_query.test.js +318 -0
  233. package/dist/test/37.cw_marketplace_tx.test.d.ts +1 -0
  234. package/dist/test/37.cw_marketplace_tx.test.js +794 -0
  235. package/dist/test/38.cw_marketplace_query.test.d.ts +1 -0
  236. package/dist/test/38.cw_marketplace_query.test.js +128 -0
  237. package/dist/test/config_test.d.ts +11 -0
  238. package/dist/test/config_test.js +29 -0
  239. package/dist/test/config_test.sample.d.ts +5 -0
  240. package/dist/test/config_test.sample.js +8 -0
  241. package/package.json +9 -7
  242. package/dist/sdk/firmachain/common/signingaminostargateclient.d.ts +0 -50
  243. package/dist/sdk/firmachain/common/signingaminostargateclient.js +0 -267
@@ -0,0 +1,245 @@
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('[02. Contract Query Test]', function () {
44
+ var firma;
45
+ var aliceWallet;
46
+ var aliceAddress;
47
+ var bobWallet;
48
+ var bobAddress;
49
+ beforeEach(function () {
50
+ return __awaiter(this, void 0, void 0, function () {
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
55
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
56
+ case 1:
57
+ aliceWallet = _a.sent();
58
+ return [4 /*yield*/, aliceWallet.getAddress()];
59
+ case 2:
60
+ aliceAddress = _a.sent();
61
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
62
+ case 3:
63
+ bobWallet = _a.sent();
64
+ return [4 /*yield*/, bobWallet.getAddress()];
65
+ case 4:
66
+ bobAddress = _a.sent();
67
+ return [2 /*return*/];
68
+ }
69
+ });
70
+ });
71
+ });
72
+ it('Contract getContractLogAll-pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
73
+ var result, total, totalItemList, index, i, i;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0: return [4 /*yield*/, firma.Contract.getContractLogAll()];
77
+ case 1:
78
+ result = _a.sent();
79
+ total = result.pagination.total;
80
+ totalItemList = [];
81
+ index = 0;
82
+ _a.label = 2;
83
+ case 2:
84
+ if (!(result.pagination.next_key != null)) return [3 /*break*/, 4];
85
+ for (i = 0; i < result.dataList.length; i++) {
86
+ totalItemList[index++] = result.dataList[i];
87
+ }
88
+ return [4 /*yield*/, firma.Contract.getContractLogAll(result.pagination.next_key)];
89
+ case 3:
90
+ result = _a.sent();
91
+ return [3 /*break*/, 2];
92
+ case 4:
93
+ for (i = 0; i < result.dataList.length; i++) {
94
+ totalItemList[index++] = result.dataList[i];
95
+ }
96
+ chai_1.expect(totalItemList.length).to.be.equal(total);
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ }); });
101
+ it('Contract getContractLogAll', function () { return __awaiter(void 0, void 0, void 0, function () {
102
+ var contractLogList;
103
+ return __generator(this, function (_a) {
104
+ switch (_a.label) {
105
+ case 0: return [4 /*yield*/, firma.Contract.getContractLogAll()];
106
+ case 1:
107
+ contractLogList = _a.sent();
108
+ chai_1.expect(contractLogList.dataList.length).to.be.equal(contractLogList.dataList.length);
109
+ chai_1.expect(contractLogList.dataList.length).to.be.greaterThan(0);
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); });
114
+ it('Contract getContractLog', function () { return __awaiter(void 0, void 0, void 0, function () {
115
+ var logId, contractLog;
116
+ return __generator(this, function (_a) {
117
+ switch (_a.label) {
118
+ case 0:
119
+ logId = "0";
120
+ return [4 /*yield*/, firma.Contract.getContractLog(logId)];
121
+ case 1:
122
+ contractLog = _a.sent();
123
+ chai_1.expect(contractLog.id).to.be.equal(logId);
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ }); });
128
+ it('Contract getContractFileAll-pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
129
+ var result, total, totalItemList, index, i, i;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0: return [4 /*yield*/, firma.Contract.getContractFileAll()];
133
+ case 1:
134
+ result = _a.sent();
135
+ total = result.pagination.total;
136
+ totalItemList = [];
137
+ index = 0;
138
+ _a.label = 2;
139
+ case 2:
140
+ if (!(result.pagination.next_key != null)) return [3 /*break*/, 4];
141
+ for (i = 0; i < result.dataList.length; i++) {
142
+ totalItemList[index++] = result.dataList[i];
143
+ }
144
+ return [4 /*yield*/, firma.Contract.getContractFileAll(result.pagination.next_key)];
145
+ case 3:
146
+ result = _a.sent();
147
+ return [3 /*break*/, 2];
148
+ case 4:
149
+ for (i = 0; i < result.dataList.length; i++) {
150
+ totalItemList[index++] = result.dataList[i];
151
+ }
152
+ chai_1.expect(totalItemList.length).to.be.equal(total);
153
+ return [2 /*return*/];
154
+ }
155
+ });
156
+ }); });
157
+ it('Contract getContractFileAll', function () { return __awaiter(void 0, void 0, void 0, function () {
158
+ var contractFileList;
159
+ return __generator(this, function (_a) {
160
+ switch (_a.label) {
161
+ case 0: return [4 /*yield*/, firma.Contract.getContractFileAll()];
162
+ case 1:
163
+ contractFileList = _a.sent();
164
+ chai_1.expect(contractFileList.dataList.length).to.be.equal(contractFileList.dataList.length);
165
+ chai_1.expect(contractFileList.dataList.length).to.be.greaterThan(0);
166
+ return [2 /*return*/];
167
+ }
168
+ });
169
+ }); });
170
+ // contractFileHash value is required.
171
+ it('Contract getContractFile', function () { return __awaiter(void 0, void 0, void 0, function () {
172
+ var timeStamp, fileHash, ownerAddress, ownerList, jsonString, result, contractFile;
173
+ return __generator(this, function (_a) {
174
+ switch (_a.label) {
175
+ case 0:
176
+ timeStamp = Math.round(+new Date() / 1000);
177
+ fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
178
+ ownerAddress = aliceAddress;
179
+ ownerList = [ownerAddress, ownerAddress];
180
+ jsonString = "{}";
181
+ return [4 /*yield*/, firma.Contract.createContractFile(aliceWallet, fileHash, timeStamp, ownerList, jsonString)];
182
+ case 1:
183
+ result = _a.sent();
184
+ chai_1.expect(result.code).equal(0);
185
+ return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
186
+ case 2:
187
+ contractFile = _a.sent();
188
+ chai_1.expect(contractFile.fileHash).to.be.equal(fileHash);
189
+ return [2 /*return*/];
190
+ }
191
+ });
192
+ }); });
193
+ it('Contract getContractListFromHash', function () { return __awaiter(void 0, void 0, void 0, function () {
194
+ var contractHash, idList;
195
+ return __generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0:
198
+ contractHash = "0xsalkdjfasldkjf2";
199
+ return [4 /*yield*/, firma.Contract.getContractListFromHash(contractHash)];
200
+ case 1:
201
+ idList = _a.sent();
202
+ chai_1.expect(idList.length).to.be.greaterThan(0);
203
+ return [2 /*return*/];
204
+ }
205
+ });
206
+ }); });
207
+ // This test can only run with a meaningful contractFileHash, owner1, owner2 value
208
+ it('Contract isContractOwner', function () { return __awaiter(void 0, void 0, void 0, function () {
209
+ var timeStamp, fileHash, ownerList, jsonString, result, isOwner;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0:
213
+ timeStamp = Math.round(+new Date() / 1000);
214
+ fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
215
+ ownerList = [aliceAddress, bobAddress];
216
+ jsonString = "{}";
217
+ return [4 /*yield*/, firma.Contract.createContractFile(aliceWallet, fileHash, timeStamp, ownerList, jsonString)];
218
+ case 1:
219
+ result = _a.sent();
220
+ chai_1.expect(result.code).equal(0);
221
+ return [4 /*yield*/, firma.Contract.isContractOwner(fileHash, aliceAddress)];
222
+ case 2:
223
+ isOwner = _a.sent();
224
+ chai_1.expect(isOwner).to.be.equal(true);
225
+ return [4 /*yield*/, firma.Contract.isContractOwner(fileHash, bobAddress)];
226
+ case 3:
227
+ isOwner = _a.sent();
228
+ chai_1.expect(isOwner).to.be.equal(true);
229
+ return [2 /*return*/];
230
+ }
231
+ });
232
+ }); });
233
+ it('Contract getFileHash', function () { return __awaiter(void 0, void 0, void 0, function () {
234
+ var fileHash;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0: return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
238
+ case 1:
239
+ fileHash = _a.sent();
240
+ chai_1.expect(fileHash).to.be.equal("61faa15f52f19fc4c4e32e1f1208bf8d6d8134ac0a4b15bcfe05bc420e1aedb0");
241
+ return [2 /*return*/];
242
+ }
243
+ });
244
+ }); });
245
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,406 @@
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
+ var aliceWallet;
46
+ var aliceAddress;
47
+ var bobWallet;
48
+ var bobAddress;
49
+ var signerWallet1;
50
+ var signerAddress1;
51
+ var signerWallet2;
52
+ var signerAddress2;
53
+ var signerWallet3;
54
+ var signerAddress3;
55
+ var signerWallet4;
56
+ var signerAddress4;
57
+ beforeEach(function () {
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ return __generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0:
62
+ firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
63
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
64
+ case 1:
65
+ aliceWallet = _a.sent();
66
+ return [4 /*yield*/, aliceWallet.getAddress()];
67
+ case 2:
68
+ aliceAddress = _a.sent();
69
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
70
+ case 3:
71
+ bobWallet = _a.sent();
72
+ return [4 /*yield*/, bobWallet.getAddress()];
73
+ case 4:
74
+ bobAddress = _a.sent();
75
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.signerMnemonic1)];
76
+ case 5:
77
+ signerWallet1 = _a.sent();
78
+ return [4 /*yield*/, signerWallet1.getAddress()];
79
+ case 6:
80
+ signerAddress1 = _a.sent();
81
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.signerMnemonic2)];
82
+ case 7:
83
+ signerWallet2 = _a.sent();
84
+ return [4 /*yield*/, signerWallet2.getAddress()];
85
+ case 8:
86
+ signerAddress2 = _a.sent();
87
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.signerMnemonic3)];
88
+ case 9:
89
+ signerWallet3 = _a.sent();
90
+ return [4 /*yield*/, signerWallet3.getAddress()];
91
+ case 10:
92
+ signerAddress3 = _a.sent();
93
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.signerMnemonic4)];
94
+ case 11:
95
+ signerWallet4 = _a.sent();
96
+ return [4 /*yield*/, signerWallet4.getAddress()];
97
+ case 12:
98
+ signerAddress4 = _a.sent();
99
+ return [2 /*return*/];
100
+ }
101
+ });
102
+ });
103
+ });
104
+ var contractHash = "0xtestcontract" + Math.round(+new Date() / 1000);
105
+ it('CreateContract add', function () { return __awaiter(void 0, void 0, void 0, function () {
106
+ var timeStamp, eventName, ownerAddress, jsonString, result;
107
+ return __generator(this, function (_a) {
108
+ switch (_a.label) {
109
+ case 0:
110
+ timeStamp = Math.round(+new Date() / 1000);
111
+ ;
112
+ eventName = "CreateContract";
113
+ ownerAddress = bobAddress;
114
+ jsonString = "{\"totalOwner\":4}";
115
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
116
+ case 1:
117
+ result = _a.sent();
118
+ chai_1.expect(result.code).equal(0);
119
+ return [2 /*return*/];
120
+ }
121
+ });
122
+ }); });
123
+ it('AddSigner - each tx add', function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ var timeStamp, eventName, jsonString, result;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0:
128
+ timeStamp = Math.round(+new Date() / 1000);
129
+ ;
130
+ eventName = "AddSigner";
131
+ jsonString = "";
132
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress1, jsonString)];
133
+ case 1:
134
+ result = _a.sent();
135
+ chai_1.expect(result.code).equal(0);
136
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress2, jsonString)];
137
+ case 2:
138
+ result = _a.sent();
139
+ chai_1.expect(result.code).equal(0);
140
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress3, jsonString)];
141
+ case 3:
142
+ result = _a.sent();
143
+ chai_1.expect(result.code).equal(0);
144
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress4, jsonString)];
145
+ case 4:
146
+ result = _a.sent();
147
+ chai_1.expect(result.code).equal(0);
148
+ return [2 /*return*/];
149
+ }
150
+ });
151
+ }); });
152
+ it('AddSigner - all tx to one sign', function () { return __awaiter(void 0, void 0, void 0, function () {
153
+ var timeStamp, eventName, jsonString, msg1, msg2, msg3, msg4, msgArray, gas, fee, result;
154
+ return __generator(this, function (_a) {
155
+ switch (_a.label) {
156
+ case 0:
157
+ timeStamp = Math.round(+new Date() / 1000);
158
+ ;
159
+ eventName = "AddSigner";
160
+ jsonString = "";
161
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress1, jsonString)];
162
+ case 1:
163
+ msg1 = _a.sent();
164
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress2, jsonString)];
165
+ case 2:
166
+ msg2 = _a.sent();
167
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress3, jsonString)];
168
+ case 3:
169
+ msg3 = _a.sent();
170
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress4, jsonString)];
171
+ case 4:
172
+ msg4 = _a.sent();
173
+ msgArray = [msg1, msg2, msg3, msg4, msg1, msg2, msg3, msg4, msg1];
174
+ return [4 /*yield*/, firma.Contract.getGasEstimationSignAndBroadcast(aliceWallet, msgArray)];
175
+ case 5:
176
+ gas = _a.sent();
177
+ fee = Math.ceil(gas * 0.1);
178
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(aliceWallet, msgArray, { gas: gas, fee: fee })];
179
+ case 6:
180
+ result = _a.sent();
181
+ chai_1.expect(result.code).equal(0);
182
+ return [2 /*return*/];
183
+ }
184
+ });
185
+ }); });
186
+ it('SignContract - all tx to one sign', function () { return __awaiter(void 0, void 0, void 0, function () {
187
+ var timeStamp, eventName, jsonString, msg1, msg2, msg3, msg4, result;
188
+ return __generator(this, function (_a) {
189
+ switch (_a.label) {
190
+ case 0:
191
+ timeStamp = Math.round(+new Date() / 1000);
192
+ ;
193
+ eventName = "SignContract";
194
+ jsonString = "";
195
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress1, jsonString)];
196
+ case 1:
197
+ msg1 = _a.sent();
198
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress2, jsonString)];
199
+ case 2:
200
+ msg2 = _a.sent();
201
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress3, jsonString)];
202
+ case 3:
203
+ msg3 = _a.sent();
204
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress4, jsonString)];
205
+ case 4:
206
+ msg4 = _a.sent();
207
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(aliceWallet, [msg1, msg2, msg3, msg4])];
208
+ case 5:
209
+ result = _a.sent();
210
+ chai_1.expect(result.code).equal(0);
211
+ return [2 /*return*/];
212
+ }
213
+ });
214
+ }); });
215
+ it('SignContract - each tx add', function () { return __awaiter(void 0, void 0, void 0, function () {
216
+ var timeStamp, eventName, jsonString, result;
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0:
220
+ timeStamp = Math.round(+new Date() / 1000);
221
+ ;
222
+ eventName = "SignContract";
223
+ jsonString = "";
224
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress1, jsonString)];
225
+ case 1:
226
+ result = _a.sent();
227
+ chai_1.expect(result.code).equal(0);
228
+ timeStamp = Math.round(+new Date() / 1000);
229
+ ;
230
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress2, jsonString)];
231
+ case 2:
232
+ result = _a.sent();
233
+ chai_1.expect(result.code).equal(0);
234
+ timeStamp = Math.round(+new Date() / 1000);
235
+ ;
236
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress3, jsonString)];
237
+ case 3:
238
+ result = _a.sent();
239
+ chai_1.expect(result.code).equal(0);
240
+ timeStamp = Math.round(+new Date() / 1000);
241
+ ;
242
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress4, jsonString)];
243
+ case 4:
244
+ result = _a.sent();
245
+ chai_1.expect(result.code).equal(0);
246
+ return [2 /*return*/];
247
+ }
248
+ });
249
+ }); });
250
+ it('RejectContract - one user reject', function () { return __awaiter(void 0, void 0, void 0, function () {
251
+ var timeStamp, eventName, jsonString, result;
252
+ return __generator(this, function (_a) {
253
+ switch (_a.label) {
254
+ case 0:
255
+ timeStamp = Math.round(+new Date() / 1000);
256
+ ;
257
+ eventName = "RejectContract";
258
+ jsonString = "";
259
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, signerAddress1, jsonString)];
260
+ case 1:
261
+ result = _a.sent();
262
+ chai_1.expect(result.code).equal(0);
263
+ return [2 /*return*/];
264
+ }
265
+ });
266
+ }); });
267
+ it('DestroyContract - after reject, destroy contract', function () { return __awaiter(void 0, void 0, void 0, function () {
268
+ var timeStamp, eventName, jsonString, result;
269
+ return __generator(this, function (_a) {
270
+ switch (_a.label) {
271
+ case 0:
272
+ timeStamp = Math.round(+new Date() / 1000);
273
+ ;
274
+ eventName = "DestroyContract";
275
+ jsonString = "{\"Notes\": \"" + "Reject Contract by " + signerAddress1 + "\"" + "}";
276
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, bobAddress, jsonString)];
277
+ case 1:
278
+ result = _a.sent();
279
+ chai_1.expect(result.code).equal(0);
280
+ return [2 /*return*/];
281
+ }
282
+ });
283
+ }); });
284
+ it('CompleteContract - all user complte sign and make fileHash, write to chain', function () { return __awaiter(void 0, void 0, void 0, function () {
285
+ var timeStamp, eventName, fileHash, jsonString, result;
286
+ return __generator(this, function (_a) {
287
+ switch (_a.label) {
288
+ case 0:
289
+ timeStamp = Math.round(+new Date() / 1000);
290
+ ;
291
+ eventName = "CompleteContract";
292
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
293
+ case 1:
294
+ fileHash = _a.sent();
295
+ jsonString = "{\"fileHash\": \"" + fileHash + "\"" + "}";
296
+ return [4 /*yield*/, firma.Contract.addContractLog(aliceWallet, contractHash, timeStamp, eventName, bobAddress, jsonString)];
297
+ case 2:
298
+ result = _a.sent();
299
+ chai_1.expect(result.code).equal(0);
300
+ return [2 /*return*/];
301
+ }
302
+ });
303
+ }); });
304
+ it('CryptoJS.AES.encrypt Test - after CompleteContract, encrypt fileHash by signer private key', function () { return __awaiter(void 0, void 0, void 0, function () {
305
+ var ipfsFileHash, encryptHash, decryptHash;
306
+ return __generator(this, function (_a) {
307
+ ipfsFileHash = "Qmf412jQZiuVUtdgnB36FXFX7xg5V6KEbSJ4dpQuhkLyfD";
308
+ encryptHash = signerWallet1.encryptData(ipfsFileHash);
309
+ decryptHash = signerWallet1.decryptData(encryptHash);
310
+ chai_1.expect(ipfsFileHash).equal(decryptHash);
311
+ encryptHash = signerWallet2.encryptData(ipfsFileHash);
312
+ decryptHash = signerWallet2.decryptData(encryptHash);
313
+ chai_1.expect(ipfsFileHash).equal(decryptHash);
314
+ encryptHash = signerWallet3.encryptData(ipfsFileHash);
315
+ decryptHash = signerWallet3.decryptData(encryptHash);
316
+ chai_1.expect(ipfsFileHash).equal(decryptHash);
317
+ encryptHash = signerWallet4.encryptData(ipfsFileHash);
318
+ decryptHash = signerWallet4.decryptData(encryptHash);
319
+ chai_1.expect(ipfsFileHash).equal(decryptHash);
320
+ return [2 /*return*/];
321
+ });
322
+ }); });
323
+ it('createContractFile - CompleteContract, after private sign, write to chain by new message', function () { return __awaiter(void 0, void 0, void 0, function () {
324
+ var timeStamp, fileHash, ipfsHash, encryptHash1, encryptHash2, encryptHash3, encryptHash4, jsonData, jsonString, result, contractFile, metaData, decryptHash1, decryptHash2, decryptHash3, decryptHash4;
325
+ return __generator(this, function (_a) {
326
+ switch (_a.label) {
327
+ case 0:
328
+ timeStamp = Math.round(+new Date() / 1000);
329
+ ;
330
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
331
+ case 1:
332
+ fileHash = (_a.sent()) + timeStamp;
333
+ return [4 /*yield*/, firma.Ipfs.addJson(fileHash)];
334
+ case 2:
335
+ ipfsHash = _a.sent();
336
+ encryptHash1 = signerWallet1.encryptData(ipfsHash);
337
+ encryptHash2 = signerWallet2.encryptData(ipfsHash);
338
+ encryptHash3 = signerWallet3.encryptData(ipfsHash);
339
+ encryptHash4 = signerWallet4.encryptData(ipfsHash);
340
+ jsonData = {
341
+ "storage": "ipfs",
342
+ "encryptIpfsHash": [encryptHash1, encryptHash2, encryptHash3, encryptHash4]
343
+ };
344
+ jsonString = JSON.stringify(jsonData);
345
+ return [4 /*yield*/, firma.Contract.createContractFile(aliceWallet, fileHash, timeStamp, [signerAddress1, signerAddress2, signerAddress3, signerAddress4], jsonString)];
346
+ case 3:
347
+ result = _a.sent();
348
+ chai_1.expect(result.code).equal(0);
349
+ return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
350
+ case 4:
351
+ contractFile = _a.sent();
352
+ chai_1.expect(contractFile.fileHash).equal(fileHash);
353
+ metaData = JSON.parse(contractFile.metaDataJsonString);
354
+ decryptHash1 = signerWallet1.decryptData(metaData.encryptIpfsHash[0]);
355
+ chai_1.expect(decryptHash1).equal(ipfsHash);
356
+ decryptHash2 = signerWallet2.decryptData(metaData.encryptIpfsHash[1]);
357
+ chai_1.expect(decryptHash2).equal(ipfsHash);
358
+ decryptHash3 = signerWallet3.decryptData(metaData.encryptIpfsHash[2]);
359
+ chai_1.expect(decryptHash3).equal(ipfsHash);
360
+ decryptHash4 = signerWallet4.decryptData(metaData.encryptIpfsHash[3]);
361
+ chai_1.expect(decryptHash4).equal(ipfsHash);
362
+ return [2 /*return*/];
363
+ }
364
+ });
365
+ }); });
366
+ 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 () {
367
+ var timeStamp, fileHash, ipfsFileHash, encryptHash1, encryptHash2, encryptHash3, encryptHash4, jsonData, jsonString, result, contractFile, e_1;
368
+ return __generator(this, function (_a) {
369
+ switch (_a.label) {
370
+ case 0:
371
+ timeStamp = Math.round(+new Date() / 1000);
372
+ ;
373
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
374
+ case 1:
375
+ fileHash = _a.sent();
376
+ ipfsFileHash = "Qmf412jQZiuVUtdgnB36FXFX7xg5V6KEbSJ4dpQuhkLyfD";
377
+ encryptHash1 = signerWallet1.encryptData(ipfsFileHash);
378
+ encryptHash2 = signerWallet2.encryptData(ipfsFileHash);
379
+ encryptHash3 = signerWallet3.encryptData(ipfsFileHash);
380
+ encryptHash4 = signerWallet4.encryptData(ipfsFileHash);
381
+ jsonData = {
382
+ "storage": "ipfs",
383
+ "encryptIpfsHash": [encryptHash1, encryptHash2, encryptHash3, encryptHash4]
384
+ };
385
+ jsonString = JSON.stringify(jsonData);
386
+ _a.label = 2;
387
+ case 2:
388
+ _a.trys.push([2, 5, , 6]);
389
+ return [4 /*yield*/, firma.Contract.createContractFile(aliceWallet, fileHash, timeStamp, [signerAddress1, signerAddress2, signerAddress3, signerAddress4], jsonString)];
390
+ case 3:
391
+ result = _a.sent();
392
+ chai_1.expect(result.code).not.equals(0);
393
+ return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
394
+ case 4:
395
+ contractFile = _a.sent();
396
+ chai_1.expect(contractFile.fileHash).equal(fileHash);
397
+ return [3 /*break*/, 6];
398
+ case 5:
399
+ e_1 = _a.sent();
400
+ chai_1.expect(true).to.be.equal(false);
401
+ return [3 /*break*/, 6];
402
+ case 6: return [2 /*return*/];
403
+ }
404
+ });
405
+ }); });
406
+ });
@@ -0,0 +1 @@
1
+ export {};