@firmachain/firma-js 0.3.8 → 0.4.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/sdk/FirmaAuthzService.js +20 -15
  4. package/dist/sdk/FirmaBankService.d.ts +1 -1
  5. package/dist/sdk/FirmaBankService.js +5 -4
  6. package/dist/sdk/FirmaConfig.js +4 -4
  7. package/dist/sdk/FirmaContractService.js +10 -8
  8. package/dist/sdk/FirmaDistributionService.js +20 -15
  9. package/dist/sdk/FirmaFeeGrantService.d.ts +0 -1
  10. package/dist/sdk/FirmaFeeGrantService.js +12 -14
  11. package/dist/sdk/FirmaGovService.d.ts +14 -0
  12. package/dist/sdk/FirmaGovService.js +58 -37
  13. package/dist/sdk/FirmaIbcService.js +4 -3
  14. package/dist/sdk/FirmaNftService.d.ts +3 -3
  15. package/dist/sdk/FirmaNftService.js +13 -10
  16. package/dist/sdk/FirmaStakingService.js +12 -9
  17. package/dist/sdk/FirmaTokenService.js +17 -14
  18. package/dist/sdk/FirmaUtil.js +1 -1
  19. package/dist/sdk/FirmaWalletService.d.ts +1 -1
  20. package/dist/sdk/FirmaWalletService.js +11 -23
  21. package/dist/sdk/firmachain/authz/AuthzTxClient.js +2 -0
  22. package/dist/sdk/firmachain/bank/BankTxClient.js +1 -1
  23. package/dist/sdk/firmachain/common/CommonTxClient.js +3 -1
  24. package/dist/sdk/firmachain/common/FirmaLedger.d.ts +49 -0
  25. package/dist/sdk/firmachain/common/FirmaLedger.js +301 -0
  26. package/dist/sdk/firmachain/common/ITxClient.d.ts +1 -1
  27. package/dist/sdk/firmachain/common/ITxClient.js +6 -4
  28. package/dist/sdk/firmachain/common/LedgerWallet.d.ts +5 -13
  29. package/dist/sdk/firmachain/common/LedgerWallet.js +1266 -124
  30. package/dist/sdk/firmachain/common/SigningProtobufStargateClient.js +3 -4
  31. package/dist/sdk/firmachain/common/SigningStargateClient.d.ts +2 -3
  32. package/dist/sdk/firmachain/common/SigningStargateClient.js +7 -10
  33. package/dist/sdk/firmachain/common/index.d.ts +1 -0
  34. package/dist/sdk/firmachain/common/index.js +1 -0
  35. package/dist/sdk/firmachain/common/signing.d.ts +4 -10
  36. package/dist/sdk/firmachain/common/signing.js +13 -60
  37. package/dist/sdk/firmachain/contract/ContractTxClient.js +1 -1
  38. package/dist/sdk/firmachain/contract/ContractTxTypes.js +54 -8
  39. package/dist/sdk/firmachain/distribution/DistributionTxClient.js +1 -1
  40. package/dist/sdk/firmachain/feegrant/FeeGrantTxClient.js +3 -1
  41. package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +1 -2
  42. package/dist/sdk/firmachain/google/protobuf/any.js +0 -12
  43. package/dist/sdk/firmachain/gov/GovTxClient.js +3 -0
  44. package/dist/sdk/firmachain/nft/NftTxClient.js +1 -1
  45. package/dist/sdk/firmachain/token/TokenTxClient.js +1 -1
  46. package/package.json +16 -8
  47. package/dist/test/00.wallet.test.d.ts +0 -1
  48. package/dist/test/00.wallet.test.js +0 -96
  49. package/dist/test/01.contract_tx.test.d.ts +0 -1
  50. package/dist/test/01.contract_tx.test.js +0 -157
  51. package/dist/test/02.contract_query.test.d.ts +0 -1
  52. package/dist/test/02.contract_query.test.js +0 -245
  53. package/dist/test/03.contract_scenario.test.d.ts +0 -1
  54. package/dist/test/03.contract_scenario.test.js +0 -406
  55. package/dist/test/04.bank_tx.test.d.ts +0 -1
  56. package/dist/test/04.bank_tx.test.js +0 -126
  57. package/dist/test/05.bank_query.test.d.ts +0 -1
  58. package/dist/test/05.bank_query.test.js +0 -162
  59. package/dist/test/06.feegrant_tx.test.d.ts +0 -1
  60. package/dist/test/06.feegrant_tx.test.js +0 -185
  61. package/dist/test/07.feegrant_query.test.d.ts +0 -1
  62. package/dist/test/07.feegrant_query.test.js +0 -129
  63. package/dist/test/08.gas_estimate.test.d.ts +0 -1
  64. package/dist/test/08.gas_estimate.test.js +0 -728
  65. package/dist/test/09.ipfs.test.d.ts +0 -1
  66. package/dist/test/09.ipfs.test.js +0 -72
  67. package/dist/test/10.nft_tx.test.d.ts +0 -1
  68. package/dist/test/10.nft_tx.test.js +0 -209
  69. package/dist/test/11.nft_query.test.d.ts +0 -1
  70. package/dist/test/11.nft_query.test.js +0 -165
  71. package/dist/test/12.staking_tx.test.d.ts +0 -1
  72. package/dist/test/12.staking_tx.test.js +0 -211
  73. package/dist/test/13.staking_query.test.d.ts +0 -1
  74. package/dist/test/13.staking_query.test.js +0 -275
  75. package/dist/test/14.distribution_tx.test.d.ts +0 -1
  76. package/dist/test/14.distribution_tx.test.js +0 -170
  77. package/dist/test/15.distribution_query.test.d.ts +0 -1
  78. package/dist/test/15.distribution_query.test.js +0 -243
  79. package/dist/test/16.gov_tx.test.d.ts +0 -1
  80. package/dist/test/16.gov_tx.test.js +0 -394
  81. package/dist/test/17.gov_query.test.d.ts +0 -1
  82. package/dist/test/17.gov_query.test.js +0 -181
  83. package/dist/test/18.util.test.d.ts +0 -1
  84. package/dist/test/18.util.test.js +0 -354
  85. package/dist/test/19.chain.test.d.ts +0 -1
  86. package/dist/test/19.chain.test.js +0 -127
  87. package/dist/test/20.slashing_query.test.d.ts +0 -1
  88. package/dist/test/20.slashing_query.test.js +0 -111
  89. package/dist/test/21.token_tx.test.d.ts +0 -1
  90. package/dist/test/21.token_tx.test.js +0 -149
  91. package/dist/test/22.token_query.test.d.ts +0 -1
  92. package/dist/test/22.token_query.test.js +0 -103
  93. package/dist/test/23.authz_tx.test.d.ts +0 -1
  94. package/dist/test/23.authz_tx.test.js +0 -380
  95. package/dist/test/24.authz_query.test.d.ts +0 -1
  96. package/dist/test/24.authz_query.test.js +0 -202
  97. package/dist/test/25.cosmwasm_tx.test.d.ts +0 -1
  98. package/dist/test/25.cosmwasm_tx.test.js +0 -229
  99. package/dist/test/26.cosmwasm_query.test.d.ts +0 -1
  100. package/dist/test/26.cosmwasm_query.test.js +0 -275
  101. package/dist/test/27.arbitrary_sign.test.d.ts +0 -1
  102. package/dist/test/27.arbitrary_sign.test.js +0 -162
  103. package/dist/test/28.ibc_tx.test.d.ts +0 -1
  104. package/dist/test/28.ibc_tx.test.js +0 -98
  105. package/dist/test/29.mint_query.test.d.ts +0 -1
  106. package/dist/test/29.mint_query.test.js +0 -59
  107. package/dist/test/30.cw20_tx.test.d.ts +0 -1
  108. package/dist/test/30.cw20_tx.test.js +0 -450
  109. package/dist/test/31.cw20_query.test.d.ts +0 -1
  110. package/dist/test/31.cw20_query.test.js +0 -333
  111. package/dist/test/32.cw721_tx.test.d.ts +0 -1
  112. package/dist/test/32.cw721_tx.test.js +0 -431
  113. package/dist/test/33.cw721_query.test.d.ts +0 -1
  114. package/dist/test/33.cw721_query.test.js +0 -371
  115. package/dist/test/34.cw_bridge_tx.test.d.ts +0 -1
  116. package/dist/test/34.cw_bridge_tx.test.js +0 -476
  117. package/dist/test/35.cw_bridge_tx_low.test.d.ts +0 -1
  118. package/dist/test/35.cw_bridge_tx_low.test.js +0 -398
  119. package/dist/test/36.cw_bridge_query.test.d.ts +0 -1
  120. package/dist/test/36.cw_bridge_query.test.js +0 -318
  121. package/dist/test/37.cw_marketplace_tx.test.d.ts +0 -1
  122. package/dist/test/37.cw_marketplace_tx.test.js +0 -794
  123. package/dist/test/38.cw_marketplace_query.test.d.ts +0 -1
  124. package/dist/test/38.cw_marketplace_query.test.js +0 -128
  125. package/dist/test/config_test.d.ts +0 -11
  126. package/dist/test/config_test.js +0 -26
  127. package/dist/test/config_test.sample.d.ts +0 -11
  128. package/dist/test/config_test.sample.js +0 -14
@@ -1,243 +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 __1 = require("..");
41
- var FirmaSDK_1 = require("../sdk/FirmaSDK");
42
- var config_test_1 = require("./config_test");
43
- describe('[15. Distribution Query Test]', function () {
44
- var firma;
45
- var aliceWallet;
46
- var aliceAddress;
47
- beforeEach(function () {
48
- return __awaiter(this, void 0, void 0, function () {
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
51
- case 0:
52
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
53
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
54
- case 1:
55
- aliceWallet = _a.sent();
56
- return [4 /*yield*/, aliceWallet.getAddress()];
57
- case 2:
58
- aliceAddress = _a.sent();
59
- return [2 /*return*/];
60
- }
61
- });
62
- });
63
- });
64
- it('get communityPool', function () { return __awaiter(void 0, void 0, void 0, function () {
65
- var poolAmount;
66
- return __generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0: return [4 /*yield*/, firma.Distribution.getCommunityPool()];
69
- case 1:
70
- poolAmount = _a.sent();
71
- (0, chai_1.expect)(poolAmount).to.not.equal("");
72
- return [2 /*return*/];
73
- }
74
- });
75
- }); });
76
- it('get validator commission', function () { return __awaiter(void 0, void 0, void 0, function () {
77
- var validatorList, validatorAddress, result;
78
- return __generator(this, function (_a) {
79
- switch (_a.label) {
80
- case 0: return [4 /*yield*/, firma.Staking.getValidatorList()];
81
- case 1:
82
- validatorList = (_a.sent()).dataList;
83
- validatorAddress = validatorList[0].operator_address;
84
- return [4 /*yield*/, firma.Distribution.getValidatorCommission(validatorAddress)];
85
- case 2:
86
- result = _a.sent();
87
- if (result.length > 0) {
88
- (0, chai_1.expect)(result[0].amount).to.not.equal("");
89
- }
90
- else {
91
- (0, chai_1.expect)(true).to.be.equal(true);
92
- }
93
- return [2 /*return*/];
94
- }
95
- });
96
- }); });
97
- it('get validator outstanding_rewards', function () { return __awaiter(void 0, void 0, void 0, function () {
98
- var validatorList, validatorAddress, result;
99
- return __generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0: return [4 /*yield*/, firma.Staking.getValidatorList()];
102
- case 1:
103
- validatorList = (_a.sent()).dataList;
104
- validatorAddress = validatorList[0].operator_address;
105
- return [4 /*yield*/, firma.Distribution.getValidatorOutStandingReward(validatorAddress)];
106
- case 2:
107
- result = _a.sent();
108
- if (result.length > 0) {
109
- (0, chai_1.expect)(result[0].amount).to.not.equal("");
110
- }
111
- else {
112
- (0, chai_1.expect)(true).to.be.equal(true);
113
- }
114
- return [2 /*return*/];
115
- }
116
- });
117
- }); });
118
- it('get validator self delegator\'s reward', function () { return __awaiter(void 0, void 0, void 0, function () {
119
- var validatorList, validatorAddress, address, result;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0: return [4 /*yield*/, firma.Staking.getValidatorList()];
123
- case 1:
124
- validatorList = (_a.sent()).dataList;
125
- validatorAddress = validatorList[0].operator_address;
126
- address = __1.FirmaUtil.getAccAddressFromValOperAddress(validatorAddress);
127
- return [4 /*yield*/, firma.Distribution.getTotalRewardInfo(address)];
128
- case 2:
129
- result = _a.sent();
130
- (0, chai_1.expect)(result.rewards).to.not.equal("");
131
- return [2 /*return*/];
132
- }
133
- });
134
- }); });
135
- it('get commission from self delegator', function () { return __awaiter(void 0, void 0, void 0, function () {
136
- var validatorList, validatorAddress, address, newValidatorAddress, commission;
137
- return __generator(this, function (_a) {
138
- switch (_a.label) {
139
- case 0: return [4 /*yield*/, firma.Staking.getValidatorList()];
140
- case 1:
141
- validatorList = (_a.sent()).dataList;
142
- validatorAddress = validatorList[0].operator_address;
143
- address = __1.FirmaUtil.getAccAddressFromValOperAddress(validatorAddress);
144
- newValidatorAddress = __1.FirmaUtil.getValOperAddressFromAccAddress(address);
145
- return [4 /*yield*/, firma.Distribution.getValidatorCommission(newValidatorAddress)];
146
- case 2:
147
- commission = _a.sent();
148
- (0, chai_1.expect)(commission.length).to.not.equal(0);
149
- return [2 /*return*/];
150
- }
151
- });
152
- }); });
153
- // Total Reward based user side
154
- // Additionally, rewards for each validator data are included. On the list.
155
- it('get getTotalRewardInfo', function () { return __awaiter(void 0, void 0, void 0, function () {
156
- var result;
157
- return __generator(this, function (_a) {
158
- switch (_a.label) {
159
- case 0: return [4 /*yield*/, firma.Distribution.getTotalRewardInfo(aliceAddress)];
160
- case 1:
161
- result = _a.sent();
162
- if (result.rewards.length === 0) {
163
- (0, chai_1.expect)(result.total).to.be.equal('');
164
- }
165
- else {
166
- (0, chai_1.expect)(result.total).to.not.equal('');
167
- }
168
- return [2 /*return*/];
169
- }
170
- });
171
- }); });
172
- // reward per validator
173
- it('get getRewardInfo', function () { return __awaiter(void 0, void 0, void 0, function () {
174
- var totalReward, validatorAddress, amount;
175
- return __generator(this, function (_a) {
176
- switch (_a.label) {
177
- case 0: return [4 /*yield*/, firma.Distribution.getTotalRewardInfo(aliceAddress)];
178
- case 1:
179
- totalReward = _a.sent();
180
- if (!(totalReward.rewards.length > 0)) return [3 /*break*/, 3];
181
- validatorAddress = totalReward.rewards[0].validator_address;
182
- return [4 /*yield*/, firma.Distribution.getRewardInfo(aliceAddress, validatorAddress)];
183
- case 2:
184
- amount = _a.sent();
185
- (0, chai_1.expect)(amount).to.not.equal('');
186
- return [3 /*break*/, 4];
187
- case 3:
188
- (0, chai_1.expect)(true).to.be.equal(false);
189
- _a.label = 4;
190
- case 4: return [2 /*return*/];
191
- }
192
- });
193
- }); });
194
- it('get withdrawAddress', function () { return __awaiter(void 0, void 0, void 0, function () {
195
- var withdrawAddress;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0: return [4 /*yield*/, firma.Distribution.getWithdrawAddress(aliceAddress)];
199
- case 1:
200
- withdrawAddress = _a.sent();
201
- (0, chai_1.expect)(__1.FirmaUtil.isValidAddress(withdrawAddress)).to.be.equal(true);
202
- return [2 /*return*/];
203
- }
204
- });
205
- }); });
206
- it('get getTotalRewardInfo from no balance user', function () { return __awaiter(void 0, void 0, void 0, function () {
207
- var newWallet, newAddress, result;
208
- return __generator(this, function (_a) {
209
- switch (_a.label) {
210
- case 0: return [4 /*yield*/, firma.Wallet.newWallet()];
211
- case 1:
212
- newWallet = _a.sent();
213
- return [4 /*yield*/, newWallet.getAddress()];
214
- case 2:
215
- newAddress = _a.sent();
216
- return [4 /*yield*/, firma.Distribution.getTotalRewardInfo(newAddress)];
217
- case 3:
218
- result = _a.sent();
219
- (0, chai_1.expect)(result.total).to.equal("");
220
- return [2 /*return*/];
221
- }
222
- });
223
- }); });
224
- // reward per validator
225
- it('get getRewardInfo from no balance user', function () { return __awaiter(void 0, void 0, void 0, function () {
226
- var newWallet, newAddress, totalReward;
227
- return __generator(this, function (_a) {
228
- switch (_a.label) {
229
- case 0: return [4 /*yield*/, firma.Wallet.newWallet()];
230
- case 1:
231
- newWallet = _a.sent();
232
- return [4 /*yield*/, newWallet.getAddress()];
233
- case 2:
234
- newAddress = _a.sent();
235
- return [4 /*yield*/, firma.Distribution.getTotalRewardInfo(newAddress)];
236
- case 3:
237
- totalReward = _a.sent();
238
- (0, chai_1.expect)(totalReward.rewards.length).to.equal(0);
239
- return [2 /*return*/];
240
- }
241
- });
242
- }); });
243
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,394 +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 common_1 = require("../sdk/firmachain/common");
52
- var FirmaSDK_1 = require("../sdk/FirmaSDK");
53
- var FirmaUtil_1 = require("../sdk/FirmaUtil");
54
- var config_test_1 = require("./config_test");
55
- // If test it, the properties of the chain change, so skip it.
56
- describe('[16. Gov Tx Test]', function () {
57
- var firma;
58
- var aliceWallet;
59
- var aliceAddress;
60
- var bobWallet;
61
- var bobAddress;
62
- var extractValue = function (events, eventType, attrKey) {
63
- var e_1, _a, e_2, _b;
64
- try {
65
- for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
66
- var event_1 = events_1_1.value;
67
- if (event_1.type === eventType) {
68
- try {
69
- for (var _c = (e_2 = void 0, __values(event_1.attributes)), _d = _c.next(); !_d.done; _d = _c.next()) {
70
- var attr = _d.value;
71
- if (attr.key === attrKey) {
72
- return attr.value;
73
- }
74
- }
75
- }
76
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
77
- finally {
78
- try {
79
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
80
- }
81
- finally { if (e_2) throw e_2.error; }
82
- }
83
- }
84
- }
85
- }
86
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
87
- finally {
88
- try {
89
- if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
90
- }
91
- finally { if (e_1) throw e_1.error; }
92
- }
93
- return "";
94
- };
95
- beforeEach(function () {
96
- return __awaiter(this, void 0, void 0, function () {
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
101
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
102
- case 1:
103
- aliceWallet = _a.sent();
104
- return [4 /*yield*/, aliceWallet.getAddress()];
105
- case 2:
106
- aliceAddress = _a.sent();
107
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
108
- case 3:
109
- bobWallet = _a.sent();
110
- return [4 /*yield*/, bobWallet.getAddress()];
111
- case 4:
112
- bobAddress = _a.sent();
113
- return [2 /*return*/];
114
- }
115
- });
116
- });
117
- });
118
- // Test order
119
- // 1. submitProposal
120
- // 2. deposit(for pass minium deposit value)
121
- // 3. vote
122
- it('SubmitTextProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
123
- var initialDepositFCT, title, description, result;
124
- return __generator(this, function (_a) {
125
- switch (_a.label) {
126
- case 0:
127
- initialDepositFCT = 2500;
128
- title = "test submit proposal";
129
- description = "test description";
130
- return [4 /*yield*/, firma.Gov.submitTextProposal(aliceWallet, title, description, initialDepositFCT)];
131
- case 1:
132
- result = _a.sent();
133
- (0, chai_1.expect)(result.code).to.equal(0);
134
- return [2 /*return*/];
135
- }
136
- });
137
- }); });
138
- it('SubmitCommunityPoolSpendProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
139
- var initialDepositFCT, title, summary, amountFCT, recipient, result;
140
- return __generator(this, function (_a) {
141
- switch (_a.label) {
142
- case 0:
143
- initialDepositFCT = 2500;
144
- title = "Community spend proposal1";
145
- summary = "This is a community spend proposal";
146
- amountFCT = 1000;
147
- recipient = aliceAddress;
148
- return [4 /*yield*/, firma.Gov.submitCommunityPoolSpendProposal(aliceWallet, title, summary, initialDepositFCT, amountFCT, recipient)];
149
- case 1:
150
- result = _a.sent();
151
- (0, chai_1.expect)(result.code).to.equal(0);
152
- return [2 /*return*/];
153
- }
154
- });
155
- }); });
156
- it('SubmitStakingParamsUpdateProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
157
- var title, summary, initialDepositFCT, params, metadata, result;
158
- return __generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0:
161
- title = "Staking Parameter Change proposal";
162
- summary = "This is a Staking Parameter change proposal";
163
- initialDepositFCT = 2500;
164
- return [4 /*yield*/, firma.Staking.getParamsAsStakingParams()];
165
- case 1:
166
- params = _a.sent();
167
- params.maxValidators = 100;
168
- params.historicalEntries = 10000;
169
- params.minCommissionRate = FirmaUtil_1.FirmaUtil.processCommissionRateAsDecimal(params.minCommissionRate);
170
- metadata = "";
171
- return [4 /*yield*/, firma.Gov.submitStakingParamsUpdateProposal(aliceWallet, title, summary, initialDepositFCT, params, metadata)];
172
- case 2:
173
- result = _a.sent();
174
- (0, chai_1.expect)(result.code).to.equal(0);
175
- return [2 /*return*/];
176
- }
177
- });
178
- }); });
179
- it('SubmitGovParamsUpdateProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
180
- var title, summary, initialDepositFCT, params, metadata, result;
181
- return __generator(this, function (_a) {
182
- switch (_a.label) {
183
- case 0:
184
- title = "Gov Parameter Change proposal";
185
- summary = "This is a Gov Parameter change proposal";
186
- initialDepositFCT = 2500;
187
- return [4 /*yield*/, firma.Gov.getParamAsGovParams()];
188
- case 1:
189
- params = _a.sent();
190
- params.burnProposalDepositPrevote = true;
191
- metadata = "";
192
- return [4 /*yield*/, firma.Gov.submitGovParamsUpdateProposal(aliceWallet, title, summary, initialDepositFCT, params, metadata)];
193
- case 2:
194
- result = _a.sent();
195
- (0, chai_1.expect)(result.code).to.equal(0);
196
- return [2 /*return*/];
197
- }
198
- });
199
- }); });
200
- it('SubmitSoftwareUpgradeProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
201
- var initialDeposit, title, summary, plan, metadata, gas, fee, result;
202
- return __generator(this, function (_a) {
203
- switch (_a.label) {
204
- case 0:
205
- initialDeposit = 5000;
206
- title = "Software upgrade proposal";
207
- summary = "This is a Text & CancelProposal";
208
- plan = {
209
- name: 'v0.5.1',
210
- time: {
211
- seconds: BigInt(0),
212
- nanos: 0
213
- },
214
- height: BigInt(1050000),
215
- info: ''
216
- };
217
- metadata = "";
218
- return [4 /*yield*/, firma.Gov.getGasEstimationSubmitSoftwareUpgradeProposal(aliceWallet, title, summary, initialDeposit, plan, metadata)];
219
- case 1:
220
- gas = _a.sent();
221
- fee = Math.ceil(gas * 0.1);
222
- return [4 /*yield*/, firma.Gov.submitSoftwareUpgradeProposal(aliceWallet, title, summary, initialDeposit, plan, metadata, { gas: gas, fee: fee })];
223
- case 2:
224
- result = _a.sent();
225
- (0, chai_1.expect)(result.code).to.be.equal(0);
226
- return [2 /*return*/];
227
- }
228
- });
229
- }); });
230
- it('SubmitTextProposal & CancelProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
231
- var initialDeposit, title, description, gas, fee, result, proposal_id;
232
- return __generator(this, function (_a) {
233
- switch (_a.label) {
234
- case 0:
235
- initialDeposit = 5000;
236
- title = "CancelProposal test proposal";
237
- description = "This is a Text & CancelProposal";
238
- return [4 /*yield*/, firma.Gov.getGasEstimationSubmitTextProposal(aliceWallet, title, description, initialDeposit)];
239
- case 1:
240
- gas = _a.sent();
241
- fee = Math.ceil(gas * 0.1);
242
- return [4 /*yield*/, firma.Gov.submitTextProposal(aliceWallet, title, description, initialDeposit, { gas: gas, fee: fee })];
243
- case 2:
244
- result = _a.sent();
245
- proposal_id = extractValue(result.events, "submit_proposal", "proposal_id");
246
- (0, chai_1.expect)(result.code).to.be.equal(0);
247
- return [4 /*yield*/, firma.Gov.getGasEstimationCancelProposal(aliceWallet, proposal_id)];
248
- case 3:
249
- // CancelProposal
250
- gas = _a.sent();
251
- fee = Math.ceil(gas * 0.1);
252
- return [4 /*yield*/, firma.Gov.cancelProposal(aliceWallet, proposal_id, { gas: gas, fee: fee })];
253
- case 4:
254
- result = _a.sent();
255
- (0, chai_1.expect)(result.code).to.be.equal(0);
256
- return [2 /*return*/];
257
- }
258
- });
259
- }); });
260
- // TODO: get recent gov proposal list and then set proposalId for below case
261
- var tempProposalId = 1;
262
- // more deposit after initial deposit case
263
- it.skip('Deposit OK', function () { return __awaiter(void 0, void 0, void 0, function () {
264
- var proposalId, amount, result;
265
- return __generator(this, function (_a) {
266
- switch (_a.label) {
267
- case 0:
268
- proposalId = tempProposalId;
269
- amount = 2500;
270
- return [4 /*yield*/, firma.Gov.deposit(aliceWallet, proposalId, amount)];
271
- case 1:
272
- result = _a.sent();
273
- (0, chai_1.expect)(result.code).to.equal(0);
274
- return [2 /*return*/];
275
- }
276
- });
277
- }); });
278
- it.skip('Vote - alice YES', function () { return __awaiter(void 0, void 0, void 0, function () {
279
- var proposalId, result;
280
- return __generator(this, function (_a) {
281
- switch (_a.label) {
282
- case 0:
283
- proposalId = tempProposalId;
284
- return [4 /*yield*/, firma.Gov.vote(aliceWallet, proposalId, common_1.VotingOption.VOTE_OPTION_YES)];
285
- case 1:
286
- result = _a.sent();
287
- (0, chai_1.expect)(result.code).to.equal(0);
288
- return [2 /*return*/];
289
- }
290
- });
291
- }); });
292
- it.skip('Vote - bob NO', function () { return __awaiter(void 0, void 0, void 0, function () {
293
- var proposalId, result;
294
- return __generator(this, function (_a) {
295
- switch (_a.label) {
296
- case 0:
297
- proposalId = tempProposalId;
298
- return [4 /*yield*/, firma.Gov.vote(bobWallet, proposalId, common_1.VotingOption.VOTE_OPTION_NO)];
299
- case 1:
300
- result = _a.sent();
301
- (0, chai_1.expect)(result.code).to.equal(0);
302
- return [2 /*return*/];
303
- }
304
- });
305
- }); });
306
- it('SubmitCommunityPoolSpendProposal & Deposit & Vote scenario test', function () { return __awaiter(void 0, void 0, void 0, function () {
307
- var initialDepositFCT, title, summary, amountFCT, recipient, result, proposalId, addDepositAmount;
308
- return __generator(this, function (_a) {
309
- switch (_a.label) {
310
- case 0:
311
- initialDepositFCT = 2500;
312
- title = "Community spend proposal1";
313
- summary = "This is a community spend proposal";
314
- amountFCT = 1000;
315
- recipient = aliceAddress;
316
- return [4 /*yield*/, firma.Gov.submitCommunityPoolSpendProposal(aliceWallet, title, summary, initialDepositFCT, amountFCT, recipient)];
317
- case 1:
318
- result = _a.sent();
319
- (0, chai_1.expect)(result.code).to.equal(0);
320
- proposalId = extractValue(result.events, "submit_proposal", "proposal_id");
321
- addDepositAmount = 2500;
322
- return [4 /*yield*/, firma.Gov.deposit(aliceWallet, proposalId, addDepositAmount)];
323
- case 2:
324
- result = _a.sent();
325
- (0, chai_1.expect)(result.code).to.equal(0);
326
- return [4 /*yield*/, firma.Gov.vote(aliceWallet, proposalId, common_1.VotingOption.VOTE_OPTION_YES)];
327
- case 3:
328
- result = _a.sent();
329
- (0, chai_1.expect)(result.code).to.equal(0);
330
- return [4 /*yield*/, firma.Gov.vote(aliceWallet, proposalId, common_1.VotingOption.VOTE_OPTION_NO)];
331
- case 4:
332
- result = _a.sent();
333
- (0, chai_1.expect)(result.code).to.equal(0);
334
- return [2 /*return*/];
335
- }
336
- });
337
- }); });
338
- it('SubmitGovParamsUpdateProposal Test - failure case (missing parameter)', function () { return __awaiter(void 0, void 0, void 0, function () {
339
- var title, summary, initialDeposit, proposalParams, metadata, errorMsg, error_1;
340
- return __generator(this, function (_a) {
341
- switch (_a.label) {
342
- case 0:
343
- title = "Gov Parameter Change fail proposal";
344
- summary = "This is a Gov Parameter change proposal";
345
- initialDeposit = 5000;
346
- proposalParams = {
347
- burnVoteQuorum: false
348
- };
349
- metadata = "";
350
- errorMsg = "All governance parameters must be provided. Use getParamAsGovParams() to get current values and override only the parameters you want to change.";
351
- _a.label = 1;
352
- case 1:
353
- _a.trys.push([1, 3, , 4]);
354
- return [4 /*yield*/, firma.Gov.submitGovParamsUpdateProposal(aliceWallet, title, summary, initialDeposit, proposalParams, metadata)];
355
- case 2:
356
- _a.sent();
357
- return [3 /*break*/, 4];
358
- case 3:
359
- error_1 = _a.sent();
360
- (0, chai_1.expect)(error_1.message).to.equal(errorMsg);
361
- return [3 /*break*/, 4];
362
- case 4: return [2 /*return*/];
363
- }
364
- });
365
- }); });
366
- it('SubmitStakingParamsUpdateProposal Test - failure case (missing parameter)', function () { return __awaiter(void 0, void 0, void 0, function () {
367
- var title, summary, initialDeposit, proposalParams, metadata, errorMsg, error_2;
368
- return __generator(this, function (_a) {
369
- switch (_a.label) {
370
- case 0:
371
- title = "Staking Parameter Change fail proposal";
372
- summary = "This is a Staking Parameter change proposal";
373
- initialDeposit = 5000;
374
- proposalParams = {
375
- maxValidators: 100
376
- };
377
- metadata = "";
378
- errorMsg = "All staking parameters must be provided. Use Staking.getParamsAsStakingParams() to get current values and override only the parameters you want to change.";
379
- _a.label = 1;
380
- case 1:
381
- _a.trys.push([1, 3, , 4]);
382
- return [4 /*yield*/, firma.Gov.submitStakingParamsUpdateProposal(aliceWallet, title, summary, initialDeposit, proposalParams, metadata)];
383
- case 2:
384
- _a.sent();
385
- return [3 /*break*/, 4];
386
- case 3:
387
- error_2 = _a.sent();
388
- (0, chai_1.expect)(error_2.message).to.equal(errorMsg);
389
- return [3 /*break*/, 4];
390
- case 4: return [2 /*return*/];
391
- }
392
- });
393
- }); });
394
- });
@@ -1 +0,0 @@
1
- export {};