@firmachain/firma-js 0.3.7 → 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 +37 -22
  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 +74 -47
  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 -396
  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 -14
  127. package/dist/test/config_test.sample.d.ts +0 -11
  128. package/dist/test/config_test.sample.js +0 -14
@@ -1 +0,0 @@
1
- export {};
@@ -1,72 +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('[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
- (0, 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
- (0, 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
- (0, chai_1.expect)(srcUrl).to.equal(url);
68
- return [2 /*return*/];
69
- }
70
- });
71
- }); });
72
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,209 +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
- 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, chai_1.expect)(burnResult.code).to.be.equal(0);
205
- return [2 /*return*/];
206
- }
207
- });
208
- }); });
209
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,165 +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('[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
- (0, chai_1.expect)(totalNft).to.be.equal(totalNft);
71
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, 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
- (0, chai_1.expect)(result.dataList.length).to.be.equal(result.dataList.length);
160
- (0, chai_1.expect)(result.dataList.length).to.be.greaterThan(0);
161
- return [2 /*return*/];
162
- }
163
- });
164
- }); });
165
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,211 +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('[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
- (0, 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
- (0, 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, gas, fee, result1, error_1;
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
- (0, chai_1.expect)(result.code).to.equal(0);
120
- _a.label = 3;
121
- case 3:
122
- _a.trys.push([3, 6, , 7]);
123
- return [4 /*yield*/, firma.Staking.getGasEstimationRedelegate(aliceWallet, srcValoperAddress, dstValoperAddress, amount)];
124
- case 4:
125
- gas = _a.sent();
126
- fee = Math.ceil(gas * 0.1);
127
- return [4 /*yield*/, firma.Staking.redelegate(aliceWallet, srcValoperAddress, dstValoperAddress, amount, { gas: gas, fee: fee })];
128
- case 5:
129
- result1 = _a.sent();
130
- (0, chai_1.expect)(result1.code).to.equal(0);
131
- return [3 /*break*/, 7];
132
- case 6:
133
- error_1 = _a.sent();
134
- console.log(error_1);
135
- return [3 /*break*/, 7];
136
- case 7: return [2 /*return*/];
137
- }
138
- });
139
- }); });
140
- // new case added. if succeed, the dapp needs to prevent zero amount input from users.
141
- it('staking send Fail - send zero money', function () { return __awaiter(void 0, void 0, void 0, function () {
142
- var aliceWallet, amount, result, error_2;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
146
- case 1:
147
- aliceWallet = _a.sent();
148
- amount = 0;
149
- _a.label = 2;
150
- case 2:
151
- _a.trys.push([2, 4, , 5]);
152
- return [4 /*yield*/, firma.Staking.delegate(aliceWallet, valOperAddress, amount)];
153
- case 3:
154
- result = _a.sent();
155
- (0, chai_1.expect)(result.code).to.equal(5);
156
- return [3 /*break*/, 5];
157
- case 4:
158
- error_2 = _a.sent();
159
- (0, chai_1.expect)(false).to.not.equal(true);
160
- return [3 /*break*/, 5];
161
- case 5: return [2 /*return*/];
162
- }
163
- });
164
- }); });
165
- it('staking send Fail - send lots of money', function () { return __awaiter(void 0, void 0, void 0, function () {
166
- var amount, result;
167
- return __generator(this, function (_a) {
168
- switch (_a.label) {
169
- case 0:
170
- amount = 20000000000000;
171
- return [4 /*yield*/, firma.Staking.delegate(aliceWallet, valOperAddress, amount)];
172
- case 1:
173
- result = _a.sent();
174
- (0, chai_1.expect)(result.code).to.equal(5);
175
- return [2 /*return*/];
176
- }
177
- });
178
- }); });
179
- // NOTICE: not decide to include firma.js spec
180
- // This unit test can be run once and can be re-invoked after 24 hours.
181
- it('editValidator OK', function () { return __awaiter(void 0, void 0, void 0, function () {
182
- var inputPercentage, fixed, count, number, per, per1, fianlper, commissionRate, minSelfDelegation, description, result;
183
- return __generator(this, function (_a) {
184
- switch (_a.label) {
185
- case 0:
186
- inputPercentage = 0.098767;
187
- fixed = 4;
188
- count = Math.pow(10, fixed);
189
- number = Math.floor(inputPercentage * count) / count;
190
- per = number.toFixed(fixed) // fill 0
191
- ;
192
- per1 = Number.parseFloat(per) * 10000;
193
- fianlper = per1.toFixed(0);
194
- commissionRate = fianlper + "00000000000000";
195
- minSelfDelegation = "100000";
196
- description = {
197
- moniker: "firma-node-3(gom)",
198
- identity: "",
199
- website: "https://naver.com",
200
- securityContact: "yhlee@firmainnovation.com",
201
- details: "we're now testing to edit validator info"
202
- };
203
- return [4 /*yield*/, firma.Staking.editValidator(validatorWallet, valOperAddress, description, commissionRate, minSelfDelegation)];
204
- case 1:
205
- result = _a.sent();
206
- (0, chai_1.expect)(result.code).to.equal(0);
207
- return [2 /*return*/];
208
- }
209
- });
210
- }); });
211
- });