@firmachain/firma-js 0.3.8 → 0.4.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 (128) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/sdk/FirmaAuthzService.js +20 -15
  4. package/dist/sdk/FirmaBankService.d.ts +1 -1
  5. package/dist/sdk/FirmaBankService.js +5 -4
  6. package/dist/sdk/FirmaConfig.js +4 -4
  7. package/dist/sdk/FirmaContractService.js +10 -8
  8. package/dist/sdk/FirmaDistributionService.js +20 -15
  9. package/dist/sdk/FirmaFeeGrantService.d.ts +0 -1
  10. package/dist/sdk/FirmaFeeGrantService.js +12 -14
  11. package/dist/sdk/FirmaGovService.d.ts +14 -0
  12. package/dist/sdk/FirmaGovService.js +58 -37
  13. package/dist/sdk/FirmaIbcService.js +4 -3
  14. package/dist/sdk/FirmaNftService.d.ts +3 -3
  15. package/dist/sdk/FirmaNftService.js +13 -10
  16. package/dist/sdk/FirmaStakingService.js +12 -9
  17. package/dist/sdk/FirmaTokenService.js +17 -14
  18. package/dist/sdk/FirmaUtil.js +1 -1
  19. package/dist/sdk/FirmaWalletService.d.ts +1 -1
  20. package/dist/sdk/FirmaWalletService.js +11 -23
  21. package/dist/sdk/firmachain/authz/AuthzTxClient.js +2 -0
  22. package/dist/sdk/firmachain/bank/BankTxClient.js +1 -1
  23. package/dist/sdk/firmachain/common/CommonTxClient.js +3 -1
  24. package/dist/sdk/firmachain/common/FirmaLedger.d.ts +49 -0
  25. package/dist/sdk/firmachain/common/FirmaLedger.js +301 -0
  26. package/dist/sdk/firmachain/common/ITxClient.d.ts +1 -1
  27. package/dist/sdk/firmachain/common/ITxClient.js +6 -4
  28. package/dist/sdk/firmachain/common/LedgerWallet.d.ts +5 -13
  29. package/dist/sdk/firmachain/common/LedgerWallet.js +1266 -124
  30. package/dist/sdk/firmachain/common/SigningProtobufStargateClient.js +3 -4
  31. package/dist/sdk/firmachain/common/SigningStargateClient.d.ts +2 -3
  32. package/dist/sdk/firmachain/common/SigningStargateClient.js +7 -10
  33. package/dist/sdk/firmachain/common/index.d.ts +1 -0
  34. package/dist/sdk/firmachain/common/index.js +1 -0
  35. package/dist/sdk/firmachain/common/signing.d.ts +4 -10
  36. package/dist/sdk/firmachain/common/signing.js +13 -60
  37. package/dist/sdk/firmachain/contract/ContractTxClient.js +1 -1
  38. package/dist/sdk/firmachain/contract/ContractTxTypes.js +54 -8
  39. package/dist/sdk/firmachain/distribution/DistributionTxClient.js +1 -1
  40. package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.js +3 -1
  41. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +1 -2
  42. package/dist/sdk/firmachain/google/protobuf/any.js +0 -12
  43. package/dist/sdk/firmachain/gov/GovTxClient.js +3 -0
  44. package/dist/sdk/firmachain/nft/NftTxClient.js +1 -1
  45. package/dist/sdk/firmachain/token/TokenTxClient.js +1 -1
  46. package/package.json +16 -8
  47. package/dist/test/00.wallet.test.d.ts +0 -1
  48. package/dist/test/00.wallet.test.js +0 -96
  49. package/dist/test/01.contract_tx.test.d.ts +0 -1
  50. package/dist/test/01.contract_tx.test.js +0 -157
  51. package/dist/test/02.contract_query.test.d.ts +0 -1
  52. package/dist/test/02.contract_query.test.js +0 -245
  53. package/dist/test/03.contract_scenario.test.d.ts +0 -1
  54. package/dist/test/03.contract_scenario.test.js +0 -406
  55. package/dist/test/04.bank_tx.test.d.ts +0 -1
  56. package/dist/test/04.bank_tx.test.js +0 -126
  57. package/dist/test/05.bank_query.test.d.ts +0 -1
  58. package/dist/test/05.bank_query.test.js +0 -162
  59. package/dist/test/06.feegrant_tx.test.d.ts +0 -1
  60. package/dist/test/06.feegrant_tx.test.js +0 -185
  61. package/dist/test/07.feegrant_query.test.d.ts +0 -1
  62. package/dist/test/07.feegrant_query.test.js +0 -129
  63. package/dist/test/08.gas_estimate.test.d.ts +0 -1
  64. package/dist/test/08.gas_estimate.test.js +0 -728
  65. package/dist/test/09.ipfs.test.d.ts +0 -1
  66. package/dist/test/09.ipfs.test.js +0 -72
  67. package/dist/test/10.nft_tx.test.d.ts +0 -1
  68. package/dist/test/10.nft_tx.test.js +0 -209
  69. package/dist/test/11.nft_query.test.d.ts +0 -1
  70. package/dist/test/11.nft_query.test.js +0 -165
  71. package/dist/test/12.staking_tx.test.d.ts +0 -1
  72. package/dist/test/12.staking_tx.test.js +0 -211
  73. package/dist/test/13.staking_query.test.d.ts +0 -1
  74. package/dist/test/13.staking_query.test.js +0 -275
  75. package/dist/test/14.distribution_tx.test.d.ts +0 -1
  76. package/dist/test/14.distribution_tx.test.js +0 -170
  77. package/dist/test/15.distribution_query.test.d.ts +0 -1
  78. package/dist/test/15.distribution_query.test.js +0 -243
  79. package/dist/test/16.gov_tx.test.d.ts +0 -1
  80. package/dist/test/16.gov_tx.test.js +0 -394
  81. package/dist/test/17.gov_query.test.d.ts +0 -1
  82. package/dist/test/17.gov_query.test.js +0 -181
  83. package/dist/test/18.util.test.d.ts +0 -1
  84. package/dist/test/18.util.test.js +0 -354
  85. package/dist/test/19.chain.test.d.ts +0 -1
  86. package/dist/test/19.chain.test.js +0 -127
  87. package/dist/test/20.slashing_query.test.d.ts +0 -1
  88. package/dist/test/20.slashing_query.test.js +0 -111
  89. package/dist/test/21.token_tx.test.d.ts +0 -1
  90. package/dist/test/21.token_tx.test.js +0 -149
  91. package/dist/test/22.token_query.test.d.ts +0 -1
  92. package/dist/test/22.token_query.test.js +0 -103
  93. package/dist/test/23.authz_tx.test.d.ts +0 -1
  94. package/dist/test/23.authz_tx.test.js +0 -380
  95. package/dist/test/24.authz_query.test.d.ts +0 -1
  96. package/dist/test/24.authz_query.test.js +0 -202
  97. package/dist/test/25.cosmwasm_tx.test.d.ts +0 -1
  98. package/dist/test/25.cosmwasm_tx.test.js +0 -229
  99. package/dist/test/26.cosmwasm_query.test.d.ts +0 -1
  100. package/dist/test/26.cosmwasm_query.test.js +0 -275
  101. package/dist/test/27.arbitrary_sign.test.d.ts +0 -1
  102. package/dist/test/27.arbitrary_sign.test.js +0 -162
  103. package/dist/test/28.ibc_tx.test.d.ts +0 -1
  104. package/dist/test/28.ibc_tx.test.js +0 -98
  105. package/dist/test/29.mint_query.test.d.ts +0 -1
  106. package/dist/test/29.mint_query.test.js +0 -59
  107. package/dist/test/30.cw20_tx.test.d.ts +0 -1
  108. package/dist/test/30.cw20_tx.test.js +0 -450
  109. package/dist/test/31.cw20_query.test.d.ts +0 -1
  110. package/dist/test/31.cw20_query.test.js +0 -333
  111. package/dist/test/32.cw721_tx.test.d.ts +0 -1
  112. package/dist/test/32.cw721_tx.test.js +0 -431
  113. package/dist/test/33.cw721_query.test.d.ts +0 -1
  114. package/dist/test/33.cw721_query.test.js +0 -371
  115. package/dist/test/34.cw_bridge_tx.test.d.ts +0 -1
  116. package/dist/test/34.cw_bridge_tx.test.js +0 -476
  117. package/dist/test/35.cw_bridge_tx_low.test.d.ts +0 -1
  118. package/dist/test/35.cw_bridge_tx_low.test.js +0 -398
  119. package/dist/test/36.cw_bridge_query.test.d.ts +0 -1
  120. package/dist/test/36.cw_bridge_query.test.js +0 -318
  121. package/dist/test/37.cw_marketplace_tx.test.d.ts +0 -1
  122. package/dist/test/37.cw_marketplace_tx.test.js +0 -794
  123. package/dist/test/38.cw_marketplace_query.test.d.ts +0 -1
  124. package/dist/test/38.cw_marketplace_query.test.js +0 -128
  125. package/dist/test/config_test.d.ts +0 -11
  126. package/dist/test/config_test.js +0 -26
  127. package/dist/test/config_test.sample.d.ts +0 -11
  128. package/dist/test/config_test.sample.js +0 -14
@@ -1,406 +0,0 @@
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 (g && (g = 0, op[0] && (_ = 0)), _) 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
311
- encryptHash = signerWallet2.encryptData(ipfsFileHash);
312
- decryptHash = signerWallet2.decryptData(encryptHash);
313
- (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
314
- encryptHash = signerWallet3.encryptData(ipfsFileHash);
315
- decryptHash = signerWallet3.decryptData(encryptHash);
316
- (0, chai_1.expect)(ipfsFileHash).equal(decryptHash);
317
- encryptHash = signerWallet4.encryptData(ipfsFileHash);
318
- decryptHash = signerWallet4.decryptData(encryptHash);
319
- (0, 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
- (0, chai_1.expect)(result.code).equal(0);
349
- return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
350
- case 4:
351
- contractFile = _a.sent();
352
- (0, chai_1.expect)(contractFile.fileHash).equal(fileHash);
353
- metaData = JSON.parse(contractFile.metaDataJsonString);
354
- decryptHash1 = signerWallet1.decryptData(metaData.encryptIpfsHash[0]);
355
- (0, chai_1.expect)(decryptHash1).equal(ipfsHash);
356
- decryptHash2 = signerWallet2.decryptData(metaData.encryptIpfsHash[1]);
357
- (0, chai_1.expect)(decryptHash2).equal(ipfsHash);
358
- decryptHash3 = signerWallet3.decryptData(metaData.encryptIpfsHash[2]);
359
- (0, chai_1.expect)(decryptHash3).equal(ipfsHash);
360
- decryptHash4 = signerWallet4.decryptData(metaData.encryptIpfsHash[3]);
361
- (0, 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
- (0, chai_1.expect)(result.code).not.equals(0);
393
- return [4 /*yield*/, firma.Contract.getContractFile(fileHash)];
394
- case 4:
395
- contractFile = _a.sent();
396
- (0, chai_1.expect)(contractFile.fileHash).equal(fileHash);
397
- return [3 /*break*/, 6];
398
- case 5:
399
- e_1 = _a.sent();
400
- (0, chai_1.expect)(true).to.be.equal(false);
401
- return [3 /*break*/, 6];
402
- case 6: return [2 /*return*/];
403
- }
404
- });
405
- }); });
406
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,126 +0,0 @@
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 (g && (g = 0, op[0] && (_ = 0)), _) 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 config_test_1 = require("./config_test");
42
- describe('[04. Bank Tx Test]', function () {
43
- var firma;
44
- var aliceWallet;
45
- var aliceAddress;
46
- var bobWallet;
47
- var bobAddress;
48
- beforeEach(function () {
49
- return __awaiter(this, void 0, void 0, function () {
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
54
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
55
- case 1:
56
- aliceWallet = _a.sent();
57
- return [4 /*yield*/, aliceWallet.getAddress()];
58
- case 2:
59
- aliceAddress = _a.sent();
60
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
61
- case 3:
62
- bobWallet = _a.sent();
63
- return [4 /*yield*/, bobWallet.getAddress()];
64
- case 4:
65
- bobAddress = _a.sent();
66
- return [2 /*return*/];
67
- }
68
- });
69
- });
70
- });
71
- it('bank send OK', function () { return __awaiter(void 0, void 0, void 0, function () {
72
- var amount, memo, result;
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
75
- case 0:
76
- amount = 1;
77
- memo = "TEST";
78
- return [4 /*yield*/, firma.Bank.send(aliceWallet, bobAddress, amount, { memo: memo })];
79
- case 1:
80
- result = _a.sent();
81
- (0, chai_1.expect)(result.code).to.equal(0);
82
- return [2 /*return*/];
83
- }
84
- });
85
- }); });
86
- it('bank send Fail - send lots of money', function () { return __awaiter(void 0, void 0, void 0, function () {
87
- var amount, result;
88
- return __generator(this, function (_a) {
89
- switch (_a.label) {
90
- case 0:
91
- amount = 20000000000000;
92
- return [4 /*yield*/, firma.Bank.send(aliceWallet, bobAddress, amount)];
93
- case 1:
94
- result = _a.sent();
95
- (0, chai_1.expect)(result.code).to.equal(5);
96
- return [2 /*return*/];
97
- }
98
- });
99
- }); });
100
- it('bank send Fail - Big fee remittance', function () {
101
- return __awaiter(this, void 0, void 0, function () {
102
- var amount, gas, fee, error_1;
103
- return __generator(this, function (_a) {
104
- switch (_a.label) {
105
- case 0:
106
- amount = 2;
107
- gas = 9990000000000;
108
- fee = 90000000000;
109
- _a.label = 1;
110
- case 1:
111
- _a.trys.push([1, 3, , 4]);
112
- return [4 /*yield*/, firma.Bank.send(aliceWallet, bobAddress, amount, { gas: gas, fee: fee })];
113
- case 2:
114
- _a.sent();
115
- chai_1.expect.fail('Transaction should have failed due to excessive fee');
116
- return [3 /*break*/, 4];
117
- case 3:
118
- error_1 = _a.sent();
119
- (0, chai_1.expect)(error_1).to.exist;
120
- return [3 /*break*/, 4];
121
- case 4: return [2 /*return*/];
122
- }
123
- });
124
- });
125
- });
126
- });
@@ -1 +0,0 @@
1
- export {};