@firmachain/firma-js 0.2.45 → 0.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/sdk/FirmaBankService.d.ts +2 -0
  2. package/dist/sdk/FirmaBankService.js +59 -16
  3. package/dist/sdk/FirmaMintService.d.ts +6 -0
  4. package/dist/sdk/FirmaMintService.js +67 -0
  5. package/dist/sdk/FirmaSDK.d.ts +3 -1
  6. package/dist/sdk/FirmaSDK.js +4 -1
  7. package/dist/sdk/FirmaUtil.d.ts +1 -0
  8. package/dist/sdk/FirmaUtil.js +5 -0
  9. package/dist/sdk/firmachain/mint/MintQueryClient.d.ts +5 -0
  10. package/dist/sdk/firmachain/mint/MintQueryClient.js +71 -0
  11. package/dist/sdk/firmachain/mint/index.d.ts +2 -0
  12. package/dist/sdk/firmachain/mint/index.js +18 -0
  13. package/dist/test/00.wallet.test.d.ts +1 -0
  14. package/dist/test/00.wallet.test.js +87 -0
  15. package/dist/test/000./354/227/220/354/226/264/353/223/234/353/236/215_/353/246/254/354/212/244/355/205/214/354/235/264/355/201/254.test.d.ts +1 -0
  16. package/dist/test/000./354/227/220/354/226/264/353/223/234/353/236/215_/353/246/254/354/212/244/355/205/214/354/235/264/355/201/254.test.js +302 -0
  17. package/dist/test/000./354/236/254/353/213/250/352/264/200/353/240/250.test.d.ts +1 -0
  18. package/dist/test/000./354/236/254/353/213/250/352/264/200/353/240/250.test.js +436 -0
  19. package/dist/test/01.contract_tx.test.d.ts +1 -0
  20. package/dist/test/01.contract_tx.test.js +146 -0
  21. package/dist/test/02.contract_query.test.d.ts +1 -0
  22. package/dist/test/02.contract_query.test.js +219 -0
  23. package/dist/test/03.contract_scenario.test.d.ts +1 -0
  24. package/dist/test/03.contract_scenario.test.js +559 -0
  25. package/dist/test/04.bank_tx.test.d.ts +1 -0
  26. package/dist/test/04.bank_tx.test.js +124 -0
  27. package/dist/test/05.bank_query.test.d.ts +1 -0
  28. package/dist/test/05.bank_query.test.js +164 -0
  29. package/dist/test/06.feegrant_tx.test.d.ts +1 -0
  30. package/dist/test/06.feegrant_tx.test.js +173 -0
  31. package/dist/test/07.feegrant_query.test.d.ts +1 -0
  32. package/dist/test/07.feegrant_query.test.js +81 -0
  33. package/dist/test/08.gas_estimate.test.d.ts +1 -0
  34. package/dist/test/08.gas_estimate.test.js +702 -0
  35. package/dist/test/09.ipfs.test.d.ts +1 -0
  36. package/dist/test/09.ipfs.test.js +69 -0
  37. package/dist/test/10.nft_tx.test.d.ts +1 -0
  38. package/dist/test/10.nft_tx.test.js +137 -0
  39. package/dist/test/11.nft_query.test.d.ts +1 -0
  40. package/dist/test/11.nft_query.test.js +167 -0
  41. package/dist/test/12.staking_tx.test.d.ts +1 -0
  42. package/dist/test/12.staking_tx.test.js +213 -0
  43. package/dist/test/13.staking_query.test.d.ts +1 -0
  44. package/dist/test/13.staking_query.test.js +206 -0
  45. package/dist/test/14.distribution_tx.test.d.ts +1 -0
  46. package/dist/test/14.distribution_tx.test.js +176 -0
  47. package/dist/test/15.distribution_query.test.d.ts +1 -0
  48. package/dist/test/15.distribution_query.test.js +216 -0
  49. package/dist/test/16.gov_tx.test.d.ts +1 -0
  50. package/dist/test/16.gov_tx.test.js +237 -0
  51. package/dist/test/17.gov_query.test.d.ts +1 -0
  52. package/dist/test/17.gov_query.test.js +115 -0
  53. package/dist/test/18.util.test.d.ts +1 -0
  54. package/dist/test/18.util.test.js +246 -0
  55. package/dist/test/19.chain.test.d.ts +1 -0
  56. package/dist/test/19.chain.test.js +67 -0
  57. package/dist/test/20.slashing_query.test.d.ts +1 -0
  58. package/dist/test/20.slashing_query.test.js +82 -0
  59. package/dist/test/21.token_tx.test.d.ts +1 -0
  60. package/dist/test/21.token_tx.test.js +154 -0
  61. package/dist/test/22.token_query.test.d.ts +1 -0
  62. package/dist/test/22.token_query.test.js +96 -0
  63. package/dist/test/23.authz_tx.test.d.ts +1 -0
  64. package/dist/test/23.authz_tx.test.js +468 -0
  65. package/dist/test/24.authz_query.test.d.ts +1 -0
  66. package/dist/test/24.authz_query.test.js +140 -0
  67. package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
  68. package/dist/test/25.cosmwasm_tx.test.js +188 -0
  69. package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
  70. package/dist/test/26.cosmwasm_query.test.js +167 -0
  71. package/dist/test/27.arbitary_sign.test.d.ts +1 -0
  72. package/dist/test/27.arbitary_sign.test.js +164 -0
  73. package/dist/test/28.ibc_tx.test.d.ts +1 -0
  74. package/dist/test/28.ibc_tx.test.js +83 -0
  75. package/dist/test/29.mint_query.copy.d.ts +1 -0
  76. package/dist/test/29.mint_query.copy.js +54 -0
  77. package/dist/test/config_test.d.ts +5 -0
  78. package/dist/test/config_test.js +27 -0
  79. package/package.json +1 -1
@@ -0,0 +1,436 @@
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 __1 = require("..");
41
+ var FirmaSDK_1 = require("../sdk/FirmaSDK");
42
+ var CryptoJS = require("crypto-js");
43
+ var sha1 = require("crypto-js/sha1");
44
+ var hmacSHA512 = require('crypto-js/hmac-sha512');
45
+ var sha256 = require("crypto-js/sha256");
46
+ var encHex = require("crypto-js/enc-hex");
47
+ describe('TEST', function () {
48
+ it.skip('모든 보상 수령하기', function () { return __awaiter(void 0, void 0, void 0, function () {
49
+ var firma, readline, mnemonic, wallet, address, balance, start, delegationList, _a, _b, gasEstimation, result;
50
+ return __generator(this, function (_c) {
51
+ switch (_c.label) {
52
+ case 0:
53
+ firma = new FirmaSDK_1.FirmaSDK(__1.FirmaConfig.MainNetConfig);
54
+ readline = require('readline-sync');
55
+ console.log("모든 보상 수령하기");
56
+ mnemonic = readline.question("What is your mnemonic for reserve ?\n", {
57
+ hideEchoBack: true // The typed text on screen is hidden by `*` (default).
58
+ });
59
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(mnemonic)];
60
+ case 1:
61
+ wallet = _c.sent();
62
+ return [4 /*yield*/, wallet.getAddress()];
63
+ case 2:
64
+ address = _c.sent();
65
+ console.log(address);
66
+ return [4 /*yield*/, firma.Bank.getBalance(address)];
67
+ case 3:
68
+ balance = _c.sent();
69
+ console.log(balance);
70
+ start = readline.question("시작준비되었으면 Y를 누릅시다 \n");
71
+ if (start.toUpperCase() != "Y")
72
+ return [2 /*return*/];
73
+ _b = (_a = firma.Staking).getTotalDelegationInfo;
74
+ return [4 /*yield*/, wallet.getAddress()];
75
+ case 4: return [4 /*yield*/, _b.apply(_a, [_c.sent()])];
76
+ case 5:
77
+ delegationList = (_c.sent()).dataList;
78
+ return [4 /*yield*/, firma.Distribution.getGasEstimationWithdrawAllRewardsFromAllValidator(wallet, delegationList)];
79
+ case 6:
80
+ gasEstimation = _c.sent();
81
+ console.log("gasEstimation: " + gasEstimation);
82
+ return [4 /*yield*/, firma.Distribution.withdrawAllRewardsFromAllValidator(wallet, delegationList, { gas: gasEstimation, fee: gasEstimation })];
83
+ case 7:
84
+ result = _c.sent();
85
+ (0, chai_1.expect)(result.code).to.equal(0);
86
+ return [2 /*return*/];
87
+ }
88
+ });
89
+ }); });
90
+ it.skip('벨리데이터 위임', function () { return __awaiter(void 0, void 0, void 0, function () {
91
+ var firma, readline, mnemonic, wallet, address, balance, start, delegationList, i, gas, result1;
92
+ return __generator(this, function (_a) {
93
+ switch (_a.label) {
94
+ case 0:
95
+ firma = new FirmaSDK_1.FirmaSDK(__1.FirmaConfig.MainNetConfig);
96
+ console.log("재단노드 물량을 벨리데이터에게 위임하기");
97
+ readline = require('readline-sync');
98
+ 1;
99
+ mnemonic = readline.question("What is your mnemonic for reserve ?\n", {
100
+ hideEchoBack: true // The typed text on screen is hidden by `*` (default).
101
+ });
102
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(mnemonic)];
103
+ case 1:
104
+ wallet = _a.sent();
105
+ return [4 /*yield*/, wallet.getAddress()];
106
+ case 2:
107
+ address = _a.sent();
108
+ console.log(address);
109
+ return [4 /*yield*/, firma.Bank.getBalance(address)];
110
+ case 3:
111
+ balance = _a.sent();
112
+ console.log(balance);
113
+ start = readline.question("시작준비되었으면 Y를 누릅시다 \n");
114
+ if (start.toUpperCase() != "Y")
115
+ return [2 /*return*/];
116
+ delegationList = [
117
+ {
118
+ "address": "firmavaloper1q90jttne2mje828mfh3nmfw8kucdsfwf6a5c20",
119
+ "amount": 350000
120
+ },
121
+ {
122
+ "address": "firmavaloper1hpflclzh5lw0hfae7wagw5jdr4pdr5dcpgmesd",
123
+ "amount": 385000
124
+ },
125
+ {
126
+ "address": "firmavaloper16h4hmh89wp752rqlx9kdswyvlf633gwfpuesxm",
127
+ "amount": 350000
128
+ },
129
+ {
130
+ "address": "firmavaloper1fhx3c0u4ercg9c3sl3pl42sa0vauckfgwv2rq6",
131
+ "amount": 350000
132
+ },
133
+ {
134
+ "address": "firmavaloper1rtmcynl8e45huv94u02s5q9x3le28feqp9qvy7",
135
+ "amount": 385000
136
+ },
137
+ {
138
+ "address": "firmavaloper177muy880q88ugrnrk5d7zvgvrm8l62rh6m08v7",
139
+ "amount": 350000
140
+ },
141
+ {
142
+ "address": "firmavaloper1ev93vaqrtmx8h8yyvt5pvfm5d9v5faha274hlr",
143
+ "amount": 350000
144
+ },
145
+ {
146
+ "address": "firmavaloper18ejkw26h25yqvvkrxltgfhedcddqxxt7jm3ag3",
147
+ "amount": 455000
148
+ },
149
+ {
150
+ "address": "firmavaloper128djg3asetlgpv452d4n00n4ag8asr6t3vjvl0",
151
+ "amount": 350000
152
+ },
153
+ {
154
+ "address": "firmavaloper1u7f4kz740jcr5skq9xnpw8568uugtja5u0k87v",
155
+ "amount": 350000
156
+ },
157
+ {
158
+ "address": "firmavaloper1rsnaurdhf8d93ugxpfr0xqjfhhj3rfyyu69qtw",
159
+ "amount": 350000
160
+ },
161
+ {
162
+ "address": "firmavaloper13frzpda7gydx4zhn29awye757ffr863mc9mhsn",
163
+ "amount": 350000
164
+ },
165
+ {
166
+ "address": "firmavaloper17sszy56xqzk94vhfrk2098cgudmm22t902rlpv",
167
+ "amount": 350000
168
+ },
169
+ {
170
+ "address": "firmavaloper1dakqss8uc32a5ds5ru596xw8lq3vn7dqwzcyhz",
171
+ "amount": 350000
172
+ },
173
+ {
174
+ "address": "firmavaloper1v593tk73slwfje7n4davjma2a98th0d4xc72td",
175
+ "amount": 350000
176
+ },
177
+ {
178
+ "address": "firmavaloper143v9wpr870kt22gmtxgl7tc72twkd6z48h5yaj",
179
+ "amount": 420000
180
+ },
181
+ {
182
+ "address": "firmavaloper125ae5hywcv8t63jmyvcqem2kpwjuknpdfeuep0",
183
+ "amount": 420000
184
+ },
185
+ {
186
+ "address": "firmavaloper1u4ja07p7kjkz9xnffdqf8r9j63rjkyh3wg8df9",
187
+ "amount": 455000
188
+ },
189
+ {
190
+ "address": "firmavaloper16treuwa6d64xs4r4sshurw75363pwp4n86s6sq",
191
+ "amount": 350000
192
+ },
193
+ {
194
+ "address": "firmavaloper15ynjhls568twd6treerrlqethcyuhnnek2jggd",
195
+ "amount": 420000
196
+ },
197
+ {
198
+ "address": "firmavaloper1we74nst9zr9twc05th6yjxqaxm3s8psu733yew",
199
+ "amount": 455000
200
+ },
201
+ {
202
+ "address": "firmavaloper1paujadj4fxmqrzwrnhqacuk5dst3fkhc5gwddu",
203
+ "amount": 350000
204
+ },
205
+ {
206
+ "address": "firmavaloper12ns2nztypmwgqhxk0v4pn0866d8drd3rmhlh2r",
207
+ "amount": 350000
208
+ },
209
+ {
210
+ "address": "firmavaloper1erpdqzdflx7rtsvl89d3wfhn6av483fgl7a23x",
211
+ "amount": 595000
212
+ },
213
+ {
214
+ "address": "firmavaloper1rkcxlv6t6tygmfnnp3v270qru3uq0lnxpatjst",
215
+ "amount": 350000
216
+ },
217
+ {
218
+ "address": "firmavaloper1prx367m4rds5q8fksj24ckk9f6q5au9g4upg9c",
219
+ "amount": 420000
220
+ },
221
+ {
222
+ "address": "firmavaloper1sl53c25dhhac36fsuj0cgw55dm4pzvjxv2mzn6",
223
+ "amount": 455000
224
+ },
225
+ {
226
+ "address": "firmavaloper192xjmnzsdf56nhra452p67ed7uw2m7qyrz0kgu",
227
+ "amount": 455000
228
+ },
229
+ {
230
+ "address": "firmavaloper1mhlwudq5eu9crrs3e0m87j7p2sp0nrk7u6qewn",
231
+ "amount": 875000
232
+ },
233
+ {
234
+ "address": "firmavaloper13ee8f0s90a3x0c7yfduxkv4hvrdwsuv74llup9",
235
+ "amount": 150000
236
+ },
237
+ {
238
+ "address": "firmavaloper1kavalwzwp3cf6dpwlvvcsmhv3z9td99dea4mu6",
239
+ "amount": 350000
240
+ }
241
+ ];
242
+ i = 0;
243
+ _a.label = 4;
244
+ case 4:
245
+ if (!(i < delegationList.length)) return [3 /*break*/, 8];
246
+ console.log(i + 1 + "번째 시작 : " + delegationList[i].address + ", " + delegationList[i].amount + " FCT");
247
+ return [4 /*yield*/, firma.Staking.getGasEstimationDelegate(wallet, delegationList[i].address, delegationList[i].amount)];
248
+ case 5:
249
+ gas = _a.sent();
250
+ return [4 /*yield*/, firma.Staking.delegate(wallet, delegationList[i].address, delegationList[i].amount, { gas: gas })];
251
+ case 6:
252
+ result1 = _a.sent();
253
+ console.log(result1);
254
+ console.log(i + 1 + "번째 완료 ");
255
+ _a.label = 7;
256
+ case 7:
257
+ i++;
258
+ return [3 /*break*/, 4];
259
+ case 8: return [2 /*return*/];
260
+ }
261
+ });
262
+ }); });
263
+ it.skip('벨리데이터 언딜리게이트', function () { return __awaiter(void 0, void 0, void 0, function () {
264
+ var firma, readline, mnemonic, wallet, address, balance, start, undelegationList, i, gas, result1;
265
+ return __generator(this, function (_a) {
266
+ switch (_a.label) {
267
+ case 0:
268
+ firma = new FirmaSDK_1.FirmaSDK(__1.FirmaConfig.MainNetConfig);
269
+ console.log("재단노드 물량을 벨리데이터에게 특정물량 만큼 빼기");
270
+ readline = require('readline-sync');
271
+ 1;
272
+ mnemonic = readline.question("What is your mnemonic for reserve ?\n", {
273
+ hideEchoBack: true // The typed text on screen is hidden by `*` (default).
274
+ });
275
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(mnemonic)];
276
+ case 1:
277
+ wallet = _a.sent();
278
+ return [4 /*yield*/, wallet.getAddress()];
279
+ case 2:
280
+ address = _a.sent();
281
+ console.log(address);
282
+ return [4 /*yield*/, firma.Bank.getBalance(address)];
283
+ case 3:
284
+ balance = _a.sent();
285
+ console.log(balance);
286
+ start = readline.question("시작준비되었으면 Y를 누릅시다 \n");
287
+ if (start.toUpperCase() != "Y")
288
+ return [2 /*return*/];
289
+ undelegationList = [
290
+ {
291
+ "address": "firmavaloper1q90jttne2mje828mfh3nmfw8kucdsfwf6a5c20",
292
+ "amount": 350000
293
+ },
294
+ {
295
+ "address": "firmavaloper1hpflclzh5lw0hfae7wagw5jdr4pdr5dcpgmesd",
296
+ "amount": 385000
297
+ },
298
+ {
299
+ "address": "firmavaloper16h4hmh89wp752rqlx9kdswyvlf633gwfpuesxm",
300
+ "amount": 350000
301
+ },
302
+ {
303
+ "address": "firmavaloper1fhx3c0u4ercg9c3sl3pl42sa0vauckfgwv2rq6",
304
+ "amount": 350000
305
+ },
306
+ {
307
+ "address": "firmavaloper1rtmcynl8e45huv94u02s5q9x3le28feqp9qvy7",
308
+ "amount": 385000
309
+ },
310
+ {
311
+ "address": "firmavaloper177muy880q88ugrnrk5d7zvgvrm8l62rh6m08v7",
312
+ "amount": 350000
313
+ },
314
+ {
315
+ "address": "firmavaloper1ev93vaqrtmx8h8yyvt5pvfm5d9v5faha274hlr",
316
+ "amount": 350000
317
+ },
318
+ {
319
+ "address": "firmavaloper18ejkw26h25yqvvkrxltgfhedcddqxxt7jm3ag3",
320
+ "amount": 455000
321
+ },
322
+ {
323
+ "address": "firmavaloper128djg3asetlgpv452d4n00n4ag8asr6t3vjvl0",
324
+ "amount": 350000
325
+ },
326
+ {
327
+ "address": "firmavaloper1u7f4kz740jcr5skq9xnpw8568uugtja5u0k87v",
328
+ "amount": 350000
329
+ },
330
+ {
331
+ "address": "firmavaloper1rsnaurdhf8d93ugxpfr0xqjfhhj3rfyyu69qtw",
332
+ "amount": 350000
333
+ },
334
+ {
335
+ "address": "firmavaloper13frzpda7gydx4zhn29awye757ffr863mc9mhsn",
336
+ "amount": 350000
337
+ },
338
+ {
339
+ "address": "firmavaloper17sszy56xqzk94vhfrk2098cgudmm22t902rlpv",
340
+ "amount": 350000
341
+ },
342
+ {
343
+ "address": "firmavaloper1dakqss8uc32a5ds5ru596xw8lq3vn7dqwzcyhz",
344
+ "amount": 350000
345
+ },
346
+ {
347
+ "address": "firmavaloper1v593tk73slwfje7n4davjma2a98th0d4xc72td",
348
+ "amount": 350000
349
+ },
350
+ {
351
+ "address": "firmavaloper143v9wpr870kt22gmtxgl7tc72twkd6z48h5yaj",
352
+ "amount": 420000
353
+ },
354
+ {
355
+ "address": "firmavaloper125ae5hywcv8t63jmyvcqem2kpwjuknpdfeuep0",
356
+ "amount": 420000
357
+ },
358
+ {
359
+ "address": "firmavaloper1u4ja07p7kjkz9xnffdqf8r9j63rjkyh3wg8df9",
360
+ "amount": 455000
361
+ },
362
+ {
363
+ "address": "firmavaloper16treuwa6d64xs4r4sshurw75363pwp4n86s6sq",
364
+ "amount": 350000
365
+ },
366
+ {
367
+ "address": "firmavaloper15ynjhls568twd6treerrlqethcyuhnnek2jggd",
368
+ "amount": 420000
369
+ },
370
+ {
371
+ "address": "firmavaloper1we74nst9zr9twc05th6yjxqaxm3s8psu733yew",
372
+ "amount": 455000
373
+ },
374
+ {
375
+ "address": "firmavaloper1paujadj4fxmqrzwrnhqacuk5dst3fkhc5gwddu",
376
+ "amount": 350000
377
+ },
378
+ {
379
+ "address": "firmavaloper12ns2nztypmwgqhxk0v4pn0866d8drd3rmhlh2r",
380
+ "amount": 350000
381
+ },
382
+ {
383
+ "address": "firmavaloper1erpdqzdflx7rtsvl89d3wfhn6av483fgl7a23x",
384
+ "amount": 595000
385
+ },
386
+ {
387
+ "address": "firmavaloper1rkcxlv6t6tygmfnnp3v270qru3uq0lnxpatjst",
388
+ "amount": 350000
389
+ },
390
+ {
391
+ "address": "firmavaloper1prx367m4rds5q8fksj24ckk9f6q5au9g4upg9c",
392
+ "amount": 420000
393
+ },
394
+ {
395
+ "address": "firmavaloper1sl53c25dhhac36fsuj0cgw55dm4pzvjxv2mzn6",
396
+ "amount": 455000
397
+ },
398
+ {
399
+ "address": "firmavaloper192xjmnzsdf56nhra452p67ed7uw2m7qyrz0kgu",
400
+ "amount": 455000
401
+ },
402
+ {
403
+ "address": "firmavaloper1mhlwudq5eu9crrs3e0m87j7p2sp0nrk7u6qewn",
404
+ "amount": 875000
405
+ },
406
+ {
407
+ "address": "firmavaloper13ee8f0s90a3x0c7yfduxkv4hvrdwsuv74llup9",
408
+ "amount": 150000
409
+ },
410
+ {
411
+ "address": "firmavaloper1kavalwzwp3cf6dpwlvvcsmhv3z9td99dea4mu6",
412
+ "amount": 350000
413
+ }
414
+ ];
415
+ i = 0;
416
+ _a.label = 4;
417
+ case 4:
418
+ if (!(i < undelegationList.length)) return [3 /*break*/, 8];
419
+ console.log(i + 1 + "번째 시작 : " + undelegationList[i].address + ", " + undelegationList[i].amount + " FCT");
420
+ return [4 /*yield*/, firma.Staking.getGasEstimationUndelegate(wallet, undelegationList[i].address, undelegationList[i].amount)];
421
+ case 5:
422
+ gas = _a.sent();
423
+ return [4 /*yield*/, firma.Staking.undelegate(wallet, undelegationList[i].address, undelegationList[i].amount, { gas: gas, fee: 30000 })];
424
+ case 6:
425
+ result1 = _a.sent();
426
+ console.log(result1);
427
+ console.log(i + 1 + "번째 완료 ");
428
+ _a.label = 7;
429
+ case 7:
430
+ i++;
431
+ return [3 /*break*/, 4];
432
+ case 8: return [2 /*return*/];
433
+ }
434
+ });
435
+ }); });
436
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,146 @@
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 config_test_1 = require("./config_test");
42
+ describe('[01. Contract Tx Test]', function () {
43
+ var firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
44
+ it('Contract getUnsignedTxAddContractLog X 3 and signAndBroadcast', function () { return __awaiter(void 0, void 0, void 0, function () {
45
+ var wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString, tx, result;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
49
+ case 1:
50
+ wallet = _a.sent();
51
+ contractHash = "0xsalkdjfasldkjf2";
52
+ timeStamp = Math.round(+new Date() / 1000);
53
+ ;
54
+ eventName = "CreateContract";
55
+ return [4 /*yield*/, wallet.getAddress()];
56
+ case 2:
57
+ ownerAddress = _a.sent();
58
+ jsonString = "{}";
59
+ return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
60
+ case 3:
61
+ tx = _a.sent();
62
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(wallet, [tx, tx, tx])];
63
+ case 4:
64
+ result = _a.sent();
65
+ (0, chai_1.expect)(result.code).equal(0);
66
+ return [2 /*return*/];
67
+ }
68
+ });
69
+ }); });
70
+ it('Contract addContractLog', function () { return __awaiter(void 0, void 0, void 0, function () {
71
+ var wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString, result;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
75
+ case 1:
76
+ wallet = _a.sent();
77
+ contractHash = "0xsalkdjfasldkjf2";
78
+ timeStamp = Math.round(+new Date() / 1000);
79
+ ;
80
+ eventName = "CreateContract";
81
+ return [4 /*yield*/, wallet.getAddress()];
82
+ case 2:
83
+ ownerAddress = _a.sent();
84
+ jsonString = "{}";
85
+ return [4 /*yield*/, firma.Contract.addContractLog(wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
86
+ case 3:
87
+ result = _a.sent();
88
+ (0, chai_1.expect)(result.code).equal(0);
89
+ return [2 /*return*/];
90
+ }
91
+ });
92
+ }); });
93
+ it('Contract getUnsignedTxCreateContractFile x3 signAndBroadcast', function () { return __awaiter(void 0, void 0, void 0, function () {
94
+ var wallet, timeStamp, fileHash, ownerAddress, ownerList, jsonString, tx1, tx2, tx3, result;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
98
+ case 1:
99
+ wallet = _a.sent();
100
+ timeStamp = Math.round(+new Date() / 1000);
101
+ fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
102
+ return [4 /*yield*/, wallet.getAddress()];
103
+ case 2:
104
+ ownerAddress = _a.sent();
105
+ ownerList = [ownerAddress, ownerAddress];
106
+ jsonString = "{}";
107
+ return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash, timeStamp, ownerList, jsonString)];
108
+ case 3:
109
+ tx1 = _a.sent();
110
+ return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash + "a", timeStamp, ownerList, jsonString)];
111
+ case 4:
112
+ tx2 = _a.sent();
113
+ return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash + "b", timeStamp, ownerList, jsonString)];
114
+ case 5:
115
+ tx3 = _a.sent();
116
+ return [4 /*yield*/, firma.Contract.signAndBroadcast(wallet, [tx1, tx2, tx3])];
117
+ case 6:
118
+ result = _a.sent();
119
+ (0, chai_1.expect)(result.code).equal(0);
120
+ return [2 /*return*/];
121
+ }
122
+ });
123
+ }); });
124
+ it('Contract createContractFile', function () { return __awaiter(void 0, void 0, void 0, function () {
125
+ var wallet, timeStamp, fileHash, ownerAddress, ownerList, jsonString, result;
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
129
+ case 1:
130
+ wallet = _a.sent();
131
+ timeStamp = Math.round(+new Date() / 1000);
132
+ fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
133
+ return [4 /*yield*/, wallet.getAddress()];
134
+ case 2:
135
+ ownerAddress = _a.sent();
136
+ ownerList = [ownerAddress, ownerAddress];
137
+ jsonString = "{}";
138
+ return [4 /*yield*/, firma.Contract.createContractFile(wallet, fileHash, timeStamp, ownerList, jsonString)];
139
+ case 3:
140
+ result = _a.sent();
141
+ (0, chai_1.expect)(result.code).equal(0);
142
+ return [2 /*return*/];
143
+ }
144
+ });
145
+ }); });
146
+ });
@@ -0,0 +1 @@
1
+ export {};