@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,72 @@
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('[09. IPFS Test]', function () {
43
+ var firma;
44
+ beforeEach(function () {
45
+ firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
46
+ });
47
+ it('ipfs test', function () { return __awaiter(void 0, void 0, void 0, function () {
48
+ var hash, arrBuf, url, srcUrl;
49
+ return __generator(this, function (_a) {
50
+ switch (_a.label) {
51
+ case 0: return [4 /*yield*/, firma.Ipfs.addJson("hello world")];
52
+ case 1:
53
+ hash = _a.sent();
54
+ chai_1.expect(hash).to.equal("Qmf412jQZiuVUtdgnB36FXFX7xg5V6KEbSJ4dpQuhkLyfD");
55
+ arrBuf = new ArrayBuffer(1000);
56
+ return [4 /*yield*/, firma.Ipfs.addBuffer(arrBuf)];
57
+ case 2:
58
+ hash = _a.sent();
59
+ url = firma.Ipfs.getURLFromHash(hash);
60
+ srcUrl = firma.Config.ipfsWebApiAddress + "/ipfs/QmVRqQTWMy2gNtNd8i9ugz8STaoZmFGYg6fn5YyEBHp9Be";
61
+ chai_1.expect(srcUrl).to.equal(url);
62
+ return [4 /*yield*/, firma.Ipfs.addFile("./test/sample/test-bear.jpg")];
63
+ case 3:
64
+ hash = _a.sent();
65
+ url = firma.Ipfs.getURLFromHash(hash);
66
+ srcUrl = firma.Config.ipfsWebApiAddress + "/ipfs/QmYsezxzunake9EmyoU4HsWKEyHQLgE3syTEpTSQEhNChA";
67
+ chai_1.expect(srcUrl).to.equal(url);
68
+ return [2 /*return*/];
69
+ }
70
+ });
71
+ }); });
72
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,209 @@
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
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var chai_1 = require("chai");
51
+ var nft_1 = require("../sdk/firmachain/nft");
52
+ var FirmaSDK_1 = require("../sdk/FirmaSDK");
53
+ var config_test_1 = require("./config_test");
54
+ describe('[10. NFT Tx Test]', function () {
55
+ var firma;
56
+ var aliceWallet;
57
+ var aliceAddress;
58
+ var bobWallet;
59
+ var bobAddress;
60
+ var extractAllNftIds = function (events) {
61
+ var e_1, _a, e_2, _b;
62
+ var nftIds = [];
63
+ try {
64
+ for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
65
+ var event_1 = events_1_1.value;
66
+ if (event_1.type === 'message') {
67
+ try {
68
+ for (var _c = (e_2 = void 0, __values(event_1.attributes)), _d = _c.next(); !_d.done; _d = _c.next()) {
69
+ var attr = _d.value;
70
+ if (attr.key === 'nftID') {
71
+ nftIds.push(attr.value);
72
+ }
73
+ }
74
+ }
75
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
76
+ finally {
77
+ try {
78
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
79
+ }
80
+ finally { if (e_2) throw e_2.error; }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
86
+ finally {
87
+ try {
88
+ if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
89
+ }
90
+ finally { if (e_1) throw e_1.error; }
91
+ }
92
+ return nftIds;
93
+ };
94
+ beforeEach(function () {
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
100
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
101
+ case 1:
102
+ aliceWallet = _a.sent();
103
+ return [4 /*yield*/, aliceWallet.getAddress()];
104
+ case 2:
105
+ aliceAddress = _a.sent();
106
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
107
+ case 3:
108
+ bobWallet = _a.sent();
109
+ return [4 /*yield*/, bobWallet.getAddress()];
110
+ case 4:
111
+ bobAddress = _a.sent();
112
+ return [2 /*return*/];
113
+ }
114
+ });
115
+ });
116
+ });
117
+ it('NFT Mint', function () { return __awaiter(void 0, void 0, void 0, function () {
118
+ var result;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0: return [4 /*yield*/, firma.Nft.mint(aliceWallet, "https://naver.com")];
122
+ case 1:
123
+ result = _a.sent();
124
+ chai_1.expect(result.code).to.be.equal(0);
125
+ return [2 /*return*/];
126
+ }
127
+ });
128
+ }); });
129
+ it('NFT Mint - BULK', function () { return __awaiter(void 0, void 0, void 0, function () {
130
+ var tx1, tx2, tx3, txList, gas, fee, result;
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0: return [4 /*yield*/, firma.Nft.getUnsignedTxMint(aliceWallet, "https://naver1.com")];
134
+ case 1:
135
+ tx1 = _a.sent();
136
+ return [4 /*yield*/, firma.Nft.getUnsignedTxMint(aliceWallet, "https://naver2.com")];
137
+ case 2:
138
+ tx2 = _a.sent();
139
+ return [4 /*yield*/, firma.Nft.getUnsignedTxMint(aliceWallet, "https://naver3.com")];
140
+ case 3:
141
+ tx3 = _a.sent();
142
+ txList = [tx1, tx2, tx3, tx1, tx2, tx3, tx1, tx2, tx3, tx1, tx2, tx3];
143
+ return [4 /*yield*/, firma.Nft.getGasEstimationFromEncodeObject(aliceWallet, txList)];
144
+ case 4:
145
+ gas = _a.sent();
146
+ fee = Math.ceil(gas * 0.1);
147
+ return [4 /*yield*/, firma.Nft.signAndBroadcast(aliceWallet, txList, { gas: gas, fee: fee })];
148
+ case 5:
149
+ result = _a.sent();
150
+ chai_1.expect(result.code).to.be.equal(0);
151
+ return [2 /*return*/];
152
+ }
153
+ });
154
+ }); });
155
+ it('NFT Mint - BULK low level', function () { return __awaiter(void 0, void 0, void 0, function () {
156
+ var tx1, tx2, tx3, txList, gas, fee, result;
157
+ return __generator(this, function (_a) {
158
+ switch (_a.label) {
159
+ case 0:
160
+ tx1 = nft_1.NftTxClient.msgMint({ owner: aliceAddress, tokenURI: "https://naver1.com" });
161
+ tx2 = nft_1.NftTxClient.msgMint({ owner: aliceAddress, tokenURI: "https://naver2.com" });
162
+ tx3 = nft_1.NftTxClient.msgMint({ owner: aliceAddress, tokenURI: "https://naver3.com" });
163
+ txList = [tx1, tx2, tx3, tx1, tx2, tx3, tx1, tx2, tx3, tx1, tx2, tx3];
164
+ return [4 /*yield*/, firma.Nft.getGasEstimationFromEncodeObject(aliceWallet, txList)];
165
+ case 1:
166
+ gas = _a.sent();
167
+ fee = Math.ceil(gas * 0.1);
168
+ return [4 /*yield*/, firma.Nft.signAndBroadcast(aliceWallet, txList, { gas: gas, fee: fee })];
169
+ case 2:
170
+ result = _a.sent();
171
+ chai_1.expect(result.code).to.be.equal(0);
172
+ return [2 /*return*/];
173
+ }
174
+ });
175
+ }); });
176
+ it('NFT Transfer', function () { return __awaiter(void 0, void 0, void 0, function () {
177
+ var mintResult, nftIds, transferResult;
178
+ return __generator(this, function (_a) {
179
+ switch (_a.label) {
180
+ case 0: return [4 /*yield*/, firma.Nft.mint(aliceWallet, "https://naver.com")];
181
+ case 1:
182
+ mintResult = _a.sent();
183
+ nftIds = extractAllNftIds(mintResult.events);
184
+ return [4 /*yield*/, firma.Nft.transfer(aliceWallet, bobAddress, nftIds[0])];
185
+ case 2:
186
+ transferResult = _a.sent();
187
+ chai_1.expect(transferResult.code).to.be.equal(0);
188
+ return [2 /*return*/];
189
+ }
190
+ });
191
+ }); });
192
+ it('NFT Burn', function () { return __awaiter(void 0, void 0, void 0, function () {
193
+ var mintResult, nftIds, burnResult;
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0: return [4 /*yield*/, firma.Nft.mint(aliceWallet, "https://naver.com")];
197
+ case 1:
198
+ mintResult = _a.sent();
199
+ chai_1.expect(mintResult.code).to.be.equal(0);
200
+ nftIds = extractAllNftIds(mintResult.events);
201
+ return [4 /*yield*/, firma.Nft.burn(aliceWallet, nftIds[0])];
202
+ case 2:
203
+ burnResult = _a.sent();
204
+ chai_1.expect(burnResult.code).to.be.equal(0);
205
+ return [2 /*return*/];
206
+ }
207
+ });
208
+ }); });
209
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,165 @@
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('[11. NFT Query Test]', function () {
43
+ var firma;
44
+ var aliceWallet;
45
+ var aliceAddress;
46
+ beforeEach(function () {
47
+ return __awaiter(this, void 0, void 0, function () {
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
52
+ return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
53
+ case 1:
54
+ aliceWallet = _a.sent();
55
+ return [4 /*yield*/, aliceWallet.getAddress()];
56
+ case 2:
57
+ aliceAddress = _a.sent();
58
+ return [2 /*return*/];
59
+ }
60
+ });
61
+ });
62
+ });
63
+ it('NFT getBalanceOf', function () { return __awaiter(void 0, void 0, void 0, function () {
64
+ var totalNft;
65
+ return __generator(this, function (_a) {
66
+ switch (_a.label) {
67
+ case 0: return [4 /*yield*/, firma.Nft.getBalanceOf(aliceAddress)];
68
+ case 1:
69
+ totalNft = _a.sent();
70
+ chai_1.expect(totalNft).to.be.equal(totalNft);
71
+ chai_1.expect(totalNft).to.be.greaterThan(0);
72
+ return [2 /*return*/];
73
+ }
74
+ });
75
+ }); });
76
+ it('NFT getNftIdListOfOwner', function () { return __awaiter(void 0, void 0, void 0, function () {
77
+ var result;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, firma.Nft.getNftIdListOfOwner(aliceAddress)];
81
+ case 1:
82
+ result = _a.sent();
83
+ chai_1.expect(result.nftIdList.length).to.be.greaterThan(0);
84
+ return [2 /*return*/];
85
+ }
86
+ });
87
+ }); });
88
+ it('NFT getNftItemAllFromAddress-Pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
89
+ var result, total, current;
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0: return [4 /*yield*/, firma.Nft.getNftItemAllFromAddress(aliceAddress)];
93
+ case 1:
94
+ result = _a.sent();
95
+ total = result.pagination.total;
96
+ current = result.dataList.length;
97
+ _a.label = 2;
98
+ case 2:
99
+ if (!(result.pagination.next_key != "" && result.pagination.next_key != null)) return [3 /*break*/, 4];
100
+ return [4 /*yield*/, firma.Nft.getNftItemAllFromAddress(aliceAddress, result.pagination.next_key)];
101
+ case 3:
102
+ result = _a.sent();
103
+ current += result.dataList.length;
104
+ return [3 /*break*/, 2];
105
+ case 4:
106
+ chai_1.expect(current).to.be.equal(total);
107
+ return [2 /*return*/];
108
+ }
109
+ });
110
+ }); });
111
+ it('NFT getNftItemAllFromAddress', function () { return __awaiter(void 0, void 0, void 0, function () {
112
+ var nftItemList;
113
+ return __generator(this, function (_a) {
114
+ switch (_a.label) {
115
+ case 0: return [4 /*yield*/, firma.Nft.getNftItemAllFromAddress(aliceAddress)];
116
+ case 1:
117
+ nftItemList = _a.sent();
118
+ chai_1.expect(nftItemList.dataList.length).to.be.greaterThan(0);
119
+ return [2 /*return*/];
120
+ }
121
+ });
122
+ }); });
123
+ it('NFT getNftItemAll-pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ var result, total, totalItemList, index, i, i;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0: return [4 /*yield*/, firma.Nft.getNftItemAll()];
128
+ case 1:
129
+ result = _a.sent();
130
+ total = result.pagination.total;
131
+ totalItemList = [];
132
+ index = 0;
133
+ _a.label = 2;
134
+ case 2:
135
+ if (!(result.pagination.next_key != null)) return [3 /*break*/, 4];
136
+ for (i = 0; i < result.dataList.length; i++) {
137
+ totalItemList[index++] = result.dataList[i];
138
+ }
139
+ return [4 /*yield*/, firma.Nft.getNftItemAll(result.pagination.next_key)];
140
+ case 3:
141
+ result = _a.sent();
142
+ return [3 /*break*/, 2];
143
+ case 4:
144
+ for (i = 0; i < result.dataList.length; i++) {
145
+ totalItemList[index++] = result.dataList[i];
146
+ }
147
+ chai_1.expect(totalItemList.length).to.be.equal(total);
148
+ return [2 /*return*/];
149
+ }
150
+ });
151
+ }); });
152
+ it('NFT getNftItemAll', function () { return __awaiter(void 0, void 0, void 0, function () {
153
+ var result;
154
+ return __generator(this, function (_a) {
155
+ switch (_a.label) {
156
+ case 0: return [4 /*yield*/, firma.Nft.getNftItemAll()];
157
+ case 1:
158
+ result = _a.sent();
159
+ chai_1.expect(result.dataList.length).to.be.equal(result.dataList.length);
160
+ chai_1.expect(result.dataList.length).to.be.greaterThan(0);
161
+ return [2 /*return*/];
162
+ }
163
+ });
164
+ }); });
165
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,199 @@
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('[12. Staking Tx Test]', function () {
44
+ var firma;
45
+ var aliceWallet;
46
+ var validatorWallet;
47
+ var validatorAddress;
48
+ var valOperAddress;
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*/, firma.Wallet.fromMnemonic(config_test_1.validatorMnemonic)];
59
+ case 2:
60
+ validatorWallet = _a.sent();
61
+ return [4 /*yield*/, validatorWallet.getAddress()];
62
+ case 3:
63
+ validatorAddress = _a.sent();
64
+ valOperAddress = FirmaUtil_1.FirmaUtil.getValOperAddressFromAccAddress(validatorAddress);
65
+ return [2 /*return*/];
66
+ }
67
+ });
68
+ });
69
+ });
70
+ it('delegate OK', function () { return __awaiter(void 0, void 0, void 0, function () {
71
+ var amountFCT, result;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ amountFCT = 60;
76
+ return [4 /*yield*/, firma.Staking.delegate(aliceWallet, valOperAddress, amountFCT)];
77
+ case 1:
78
+ result = _a.sent();
79
+ chai_1.expect(result.code).to.equal(0);
80
+ return [2 /*return*/];
81
+ }
82
+ });
83
+ }); });
84
+ // if there's 7 more list on undelegatelist, occur error below
85
+ // too many unbonding delegation entries for (delegator, validator) tuple
86
+ it('undelegate OK', function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ var amountFCT, gas, fee, result;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ amountFCT = 5;
92
+ return [4 /*yield*/, firma.Staking.getGasEstimationUndelegate(aliceWallet, valOperAddress, amountFCT)];
93
+ case 1:
94
+ gas = _a.sent();
95
+ fee = Math.ceil(gas * 0.1);
96
+ return [4 /*yield*/, firma.Staking.undelegate(aliceWallet, valOperAddress, amountFCT, { gas: gas, fee: fee })];
97
+ case 2:
98
+ result = _a.sent();
99
+ chai_1.expect(result.code).to.equal(0);
100
+ return [2 /*return*/];
101
+ }
102
+ });
103
+ }); });
104
+ it('redelegate OK', function () { return __awaiter(void 0, void 0, void 0, function () {
105
+ var validatorList, srcValoperAddress, dstValoperAddress, amount, result, result1;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0: return [4 /*yield*/, firma.Staking.getValidatorList()];
109
+ case 1:
110
+ validatorList = (_a.sent()).dataList;
111
+ if (validatorList.length < 2)
112
+ return [2 /*return*/];
113
+ srcValoperAddress = validatorList[0].operator_address;
114
+ dstValoperAddress = validatorList[1].operator_address;
115
+ amount = 10;
116
+ return [4 /*yield*/, firma.Staking.delegate(aliceWallet, srcValoperAddress, amount)];
117
+ case 2:
118
+ result = _a.sent();
119
+ chai_1.expect(result.code).to.equal(0);
120
+ return [4 /*yield*/, firma.Staking.redelegate(aliceWallet, srcValoperAddress, dstValoperAddress, amount, { gas: 300000, fee: 30000 })];
121
+ case 3:
122
+ result1 = _a.sent();
123
+ chai_1.expect(result1.code).to.equal(0);
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ }); });
128
+ // new case added. if succeed, the dapp needs to prevent zero amount input from users.
129
+ it('staking send Fail - send zero money', function () { return __awaiter(void 0, void 0, void 0, function () {
130
+ var aliceWallet, amount, result, error_1;
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
134
+ case 1:
135
+ aliceWallet = _a.sent();
136
+ amount = 0;
137
+ _a.label = 2;
138
+ case 2:
139
+ _a.trys.push([2, 4, , 5]);
140
+ return [4 /*yield*/, firma.Staking.delegate(aliceWallet, valOperAddress, amount)];
141
+ case 3:
142
+ result = _a.sent();
143
+ chai_1.expect(result.code).to.equal(5);
144
+ return [3 /*break*/, 5];
145
+ case 4:
146
+ error_1 = _a.sent();
147
+ chai_1.expect(false).to.not.equal(true);
148
+ return [3 /*break*/, 5];
149
+ case 5: return [2 /*return*/];
150
+ }
151
+ });
152
+ }); });
153
+ it('staking send Fail - send lots of money', function () { return __awaiter(void 0, void 0, void 0, function () {
154
+ var amount, result;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ amount = 20000000000000;
159
+ return [4 /*yield*/, firma.Staking.delegate(aliceWallet, valOperAddress, amount)];
160
+ case 1:
161
+ result = _a.sent();
162
+ chai_1.expect(result.code).to.equal(5);
163
+ return [2 /*return*/];
164
+ }
165
+ });
166
+ }); });
167
+ // NOTICE: not decide to include firma.js spec
168
+ // This unit test can be run once and can be re-invoked after 24 hours.
169
+ it.skip('editValidator OK', function () { return __awaiter(void 0, void 0, void 0, function () {
170
+ var inputPercentage, fixed, count, number, per, per1, fianlper, commissionRate, minSelfDelegation, description, result;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0:
174
+ inputPercentage = 0.098767;
175
+ fixed = 4;
176
+ count = Math.pow(10, fixed);
177
+ number = Math.floor(inputPercentage * count) / count;
178
+ per = number.toFixed(fixed) // fill 0
179
+ ;
180
+ per1 = Number.parseFloat(per) * 10000;
181
+ fianlper = per1.toFixed(0);
182
+ commissionRate = fianlper + "00000000000000";
183
+ minSelfDelegation = "100000";
184
+ description = {
185
+ moniker: "firma-node-3(gom)",
186
+ identity: "",
187
+ website: "https://naver.com",
188
+ securityContact: "yhlee@firmainnovation.com",
189
+ details: "we're now testing to edit validator info"
190
+ };
191
+ return [4 /*yield*/, firma.Staking.editValidator(validatorWallet, valOperAddress, description, commissionRate, minSelfDelegation)];
192
+ case 1:
193
+ result = _a.sent();
194
+ chai_1.expect(result.code).to.equal(0);
195
+ return [2 /*return*/];
196
+ }
197
+ });
198
+ }); });
199
+ });
@@ -0,0 +1 @@
1
+ export {};