@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.
- package/README.md +4 -1
- package/dist/sdk/FirmaAuthzService.d.ts +8 -8
- package/dist/sdk/FirmaAuthzService.js +12 -6
- package/dist/sdk/FirmaBankService.d.ts +4 -4
- package/dist/sdk/FirmaContractService.d.ts +4 -4
- package/dist/sdk/FirmaCosmWasmCw20.d.ts +14 -14
- package/dist/sdk/FirmaCosmWasmCw721.d.ts +31 -13
- package/dist/sdk/FirmaCosmWasmCw721.js +25 -0
- package/dist/sdk/FirmaCosmWasmCwBridge.d.ts +9 -9
- package/dist/sdk/FirmaCosmWasmCwMarketplace.d.ts +8 -8
- package/dist/sdk/FirmaCosmWasmService.d.ts +8 -8
- package/dist/sdk/FirmaCosmWasmService.js +2 -3
- package/dist/sdk/FirmaDistributionService.d.ts +6 -6
- package/dist/sdk/FirmaFeeGrantService.d.ts +4 -4
- package/dist/sdk/FirmaGovService.d.ts +12 -9
- package/dist/sdk/FirmaGovService.js +162 -97
- package/dist/sdk/FirmaIbcService.d.ts +3 -4
- package/dist/sdk/FirmaIbcService.js +5 -2
- package/dist/sdk/FirmaNftService.d.ts +5 -5
- package/dist/sdk/FirmaStakingService.d.ts +6 -6
- package/dist/sdk/FirmaTokenService.d.ts +5 -5
- package/dist/sdk/FirmaUtil.d.ts +1 -1
- package/dist/sdk/FirmaUtil.js +12 -14
- package/dist/sdk/firmachain/amino/addresses.js +1 -1
- package/dist/sdk/firmachain/amino/aminomsgs.d.ts +10 -0
- package/dist/sdk/firmachain/amino/aminomsgs.js +5 -1
- package/dist/sdk/firmachain/amino/aminotypes.js +27 -10
- package/dist/sdk/firmachain/amino/coins.d.ts +14 -2
- package/dist/sdk/firmachain/amino/coins.js +26 -5
- package/dist/sdk/firmachain/amino/encoding.d.ts +10 -1
- package/dist/sdk/firmachain/amino/encoding.js +21 -3
- package/dist/sdk/firmachain/amino/signdoc.d.ts +21 -3
- package/dist/sdk/firmachain/amino/signdoc.js +37 -11
- package/dist/sdk/firmachain/amino/signer.d.ts +2 -1
- package/dist/sdk/firmachain/authz/AuthzTxTypes.d.ts +7 -6
- package/dist/sdk/firmachain/authz/AuthzTxTypes.js +7 -6
- package/dist/sdk/firmachain/bank/BankQueryClient.js +1 -1
- package/dist/sdk/firmachain/common/CommonTxClient.js +11 -9
- package/dist/sdk/firmachain/common/ITxClient.d.ts +6 -6
- package/dist/sdk/firmachain/common/ITxClient.js +82 -24
- package/dist/sdk/firmachain/common/LedgerSigningStargateClient.d.ts +4 -9
- package/dist/sdk/firmachain/common/LedgerSigningStargateClient.js +37 -32
- package/dist/sdk/firmachain/common/LedgerWallet.js +4 -8
- package/dist/sdk/firmachain/common/TxCommon.d.ts +1 -2
- package/dist/sdk/firmachain/common/accounts.d.ts +7 -3
- package/dist/sdk/firmachain/common/accounts.js +28 -33
- package/dist/sdk/firmachain/common/aminotypes.d.ts +19 -0
- package/dist/sdk/firmachain/common/aminotypes.js +74 -0
- package/dist/sdk/firmachain/common/events.d.ts +32 -0
- package/dist/sdk/firmachain/common/events.js +18 -0
- package/dist/sdk/firmachain/common/fee.d.ts +26 -0
- package/dist/sdk/firmachain/common/fee.js +83 -0
- package/dist/sdk/firmachain/common/index.d.ts +1 -0
- package/dist/sdk/firmachain/common/index.js +3 -0
- package/dist/sdk/firmachain/common/modules/auth/queries.d.ts +15 -0
- package/dist/sdk/firmachain/common/modules/auth/queries.js +64 -0
- package/dist/sdk/firmachain/common/modules/authz/aminomessages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/authz/aminomessages.js +15 -0
- package/dist/sdk/firmachain/common/modules/authz/messages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/authz/messages.js +9 -0
- package/dist/sdk/firmachain/common/modules/authz/queries.d.ts +10 -0
- package/dist/sdk/firmachain/common/modules/authz/queries.js +88 -0
- package/dist/sdk/firmachain/common/modules/bank/aminomessages.d.ts +35 -0
- package/dist/sdk/firmachain/common/modules/bank/aminomessages.js +85 -0
- package/dist/sdk/firmachain/common/modules/bank/messages.d.ts +8 -0
- package/dist/sdk/firmachain/common/modules/bank/messages.js +12 -0
- package/dist/sdk/firmachain/common/modules/bank/queries.d.ts +15 -0
- package/dist/sdk/firmachain/common/modules/bank/queries.js +128 -0
- package/dist/sdk/firmachain/common/modules/crisis/aminomessages.d.ts +14 -0
- package/dist/sdk/firmachain/common/modules/crisis/aminomessages.js +11 -0
- package/dist/sdk/firmachain/common/modules/distribution/aminomessages.d.ts +44 -0
- package/dist/sdk/firmachain/common/modules/distribution/aminomessages.js +113 -0
- package/dist/sdk/firmachain/common/modules/distribution/messages.d.ts +8 -0
- package/dist/sdk/firmachain/common/modules/distribution/messages.js +15 -0
- package/dist/sdk/firmachain/common/modules/distribution/queries.d.ts +16 -0
- package/dist/sdk/firmachain/common/modules/distribution/queries.js +171 -0
- package/dist/sdk/firmachain/common/modules/evidence/aminomessages.d.ts +18 -0
- package/dist/sdk/firmachain/common/modules/evidence/aminomessages.js +11 -0
- package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/feegrant/aminomessages.js +14 -0
- package/dist/sdk/firmachain/common/modules/feegrant/messages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/feegrant/messages.js +8 -0
- package/dist/sdk/firmachain/common/modules/feegrant/queries.d.ts +9 -0
- package/dist/sdk/firmachain/common/modules/feegrant/queries.js +81 -0
- package/dist/sdk/firmachain/common/modules/gov/aminomessages.d.ts +79 -0
- package/dist/sdk/firmachain/common/modules/gov/aminomessages.js +152 -0
- package/dist/sdk/firmachain/common/modules/gov/messages.d.ts +29 -0
- package/dist/sdk/firmachain/common/modules/gov/messages.js +38 -0
- package/dist/sdk/firmachain/common/modules/gov/queries.d.ts +19 -0
- package/dist/sdk/firmachain/common/modules/gov/queries.js +160 -0
- package/dist/sdk/firmachain/common/modules/group/aminomessages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/group/aminomessages.js +8 -0
- package/dist/sdk/firmachain/common/modules/group/messages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/group/messages.js +28 -0
- package/dist/sdk/firmachain/common/modules/ibc/aminomessages.d.ts +38 -0
- package/dist/sdk/firmachain/common/modules/ibc/aminomessages.js +55 -0
- package/dist/sdk/firmachain/common/modules/ibc/messages.d.ts +8 -0
- package/dist/sdk/firmachain/common/modules/ibc/messages.js +32 -0
- package/dist/sdk/firmachain/common/modules/ibc/queries.d.ts +58 -0
- package/dist/sdk/firmachain/common/modules/ibc/queries.js +576 -0
- package/dist/sdk/firmachain/common/modules/index.d.ts +32 -0
- package/dist/sdk/firmachain/common/modules/index.js +101 -0
- package/dist/sdk/firmachain/common/modules/mint/queries.d.ts +21 -0
- package/dist/sdk/firmachain/common/modules/mint/queries.js +95 -0
- package/dist/sdk/firmachain/common/modules/slashing/aminomessages.d.ts +12 -0
- package/dist/sdk/firmachain/common/modules/slashing/aminomessages.js +11 -0
- package/dist/sdk/firmachain/common/modules/slashing/queries.d.ts +10 -0
- package/dist/sdk/firmachain/common/modules/slashing/queries.js +88 -0
- package/dist/sdk/firmachain/common/modules/staking/aminomessages.d.ts +112 -0
- package/dist/sdk/firmachain/common/modules/staking/aminomessages.js +234 -0
- package/dist/sdk/firmachain/common/modules/staking/messages.d.ts +33 -0
- package/dist/sdk/firmachain/common/modules/staking/messages.js +37 -0
- package/dist/sdk/firmachain/common/modules/staking/queries.d.ts +23 -0
- package/dist/sdk/firmachain/common/modules/staking/queries.js +242 -0
- package/dist/sdk/firmachain/common/modules/tx/queries.d.ts +11 -0
- package/dist/sdk/firmachain/common/modules/tx/queries.js +103 -0
- package/dist/sdk/firmachain/common/modules/vesting/aminomessages.d.ts +16 -0
- package/dist/sdk/firmachain/common/modules/vesting/aminomessages.js +56 -0
- package/dist/sdk/firmachain/common/modules/vesting/messages.d.ts +2 -0
- package/dist/sdk/firmachain/common/modules/vesting/messages.js +7 -0
- package/dist/sdk/firmachain/common/queryclient/index.d.ts +2 -0
- package/dist/sdk/firmachain/common/queryclient/index.js +10 -0
- package/dist/sdk/firmachain/common/queryclient/queryclient.d.ts +75 -0
- package/dist/sdk/firmachain/common/queryclient/queryclient.js +157 -0
- package/dist/sdk/firmachain/common/queryclient/utils.d.ts +33 -0
- package/dist/sdk/firmachain/common/queryclient/utils.js +101 -0
- package/dist/sdk/firmachain/common/search.d.ts +10 -0
- package/dist/sdk/firmachain/common/search.js +7 -0
- package/dist/sdk/firmachain/common/signing.d.ts +8 -3
- package/dist/sdk/firmachain/common/signing.js +24 -12
- package/dist/sdk/firmachain/common/signingstargateclient.d.ts +107 -30
- package/dist/sdk/firmachain/common/signingstargateclient.js +445 -128
- package/dist/sdk/firmachain/common/stargateclient.d.ts +184 -20
- package/dist/sdk/firmachain/common/stargateclient.js +351 -35
- package/dist/sdk/firmachain/contract/ContractTxClient.d.ts +2 -2
- package/dist/sdk/firmachain/contract/ContractTxClient.js +4 -4
- package/dist/sdk/firmachain/contract/ContractTxTypes.d.ts +1 -1
- package/dist/sdk/firmachain/contract/ContractTxTypes.js +3 -3
- package/dist/sdk/firmachain/cosmwasm/CosmWasmQueryClient.js +1 -1
- package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.d.ts +5 -5
- package/dist/sdk/firmachain/feegrant/FeeGrantTxTypes.js +10 -8
- package/dist/sdk/firmachain/google/protobuf/any.d.ts +3 -2
- package/dist/sdk/firmachain/google/protobuf/any.js +2 -1
- package/dist/sdk/firmachain/google/protobuf/duration.d.ts +3 -2
- package/dist/sdk/firmachain/google/protobuf/duration.js +2 -1
- package/dist/sdk/firmachain/google/protobuf/timestamp.d.ts +3 -2
- package/dist/sdk/firmachain/google/protobuf/timestamp.js +2 -1
- package/dist/sdk/firmachain/gov/GovTxClient.d.ts +6 -0
- package/dist/sdk/firmachain/gov/GovTxClient.js +6 -1
- package/dist/sdk/firmachain/nft/NftTxClient.d.ts +3 -3
- package/dist/sdk/firmachain/nft/NftTxClient.js +6 -6
- package/dist/sdk/firmachain/nft/NftTxTypes.d.ts +1 -1
- package/dist/sdk/firmachain/nft/NftTxTypes.js +4 -4
- package/dist/sdk/firmachain/staking/StakingQueryClient.js +0 -1
- package/dist/sdk/firmachain/token/TokenTxClient.d.ts +4 -4
- package/dist/sdk/firmachain/token/TokenTxClient.js +8 -8
- package/dist/sdk/firmachain/token/TokenTxTypes.d.ts +1 -1
- package/dist/sdk/firmachain/token/TokenTxTypes.js +5 -5
- package/dist/test/00.wallet.test.d.ts +1 -0
- package/dist/test/00.wallet.test.js +96 -0
- package/dist/test/01.contract_tx.test.d.ts +1 -0
- package/dist/test/01.contract_tx.test.js +157 -0
- package/dist/test/02.contract_query.test.d.ts +1 -0
- package/dist/test/02.contract_query.test.js +245 -0
- package/dist/test/03.contract_scenario.test.d.ts +1 -0
- package/dist/test/03.contract_scenario.test.js +406 -0
- package/dist/test/04.bank_tx.test.d.ts +1 -0
- package/dist/test/04.bank_tx.test.js +126 -0
- package/dist/test/05.bank_query.test.d.ts +1 -0
- package/dist/test/05.bank_query.test.js +162 -0
- package/dist/test/06.feegrant_tx.test.d.ts +1 -0
- package/dist/test/06.feegrant_tx.test.js +161 -0
- package/dist/test/07.feegrant_query.test.d.ts +1 -0
- package/dist/test/07.feegrant_query.test.js +126 -0
- package/dist/test/08.gas_estimate.test.d.ts +1 -0
- package/dist/test/08.gas_estimate.test.js +675 -0
- package/dist/test/09.ipfs.test.d.ts +1 -0
- package/dist/test/09.ipfs.test.js +72 -0
- package/dist/test/10.nft_tx.test.d.ts +1 -0
- package/dist/test/10.nft_tx.test.js +209 -0
- package/dist/test/11.nft_query.test.d.ts +1 -0
- package/dist/test/11.nft_query.test.js +165 -0
- package/dist/test/12.staking_tx.test.d.ts +1 -0
- package/dist/test/12.staking_tx.test.js +199 -0
- package/dist/test/13.staking_query.test.d.ts +1 -0
- package/dist/test/13.staking_query.test.js +263 -0
- package/dist/test/14.distribution_tx.test.d.ts +1 -0
- package/dist/test/14.distribution_tx.test.js +170 -0
- package/dist/test/15.distribution_query.test.d.ts +1 -0
- package/dist/test/15.distribution_query.test.js +243 -0
- package/dist/test/16.gov_tx.test.d.ts +1 -0
- package/dist/test/16.gov_tx.test.js +311 -0
- package/dist/test/17.gov_query.test.d.ts +1 -0
- package/dist/test/17.gov_query.test.js +157 -0
- package/dist/test/18.util.test.d.ts +1 -0
- package/dist/test/18.util.test.js +251 -0
- package/dist/test/19.chain.test.d.ts +1 -0
- package/dist/test/19.chain.test.js +127 -0
- package/dist/test/20.slashing_query.test.d.ts +1 -0
- package/dist/test/20.slashing_query.test.js +112 -0
- package/dist/test/21.token_tx.test.d.ts +1 -0
- package/dist/test/21.token_tx.test.js +149 -0
- package/dist/test/22.token_query.test.d.ts +1 -0
- package/dist/test/22.token_query.test.js +103 -0
- package/dist/test/23.authz_tx.test.d.ts +1 -0
- package/dist/test/23.authz_tx.test.js +350 -0
- package/dist/test/24.authz_query.test.d.ts +1 -0
- package/dist/test/24.authz_query.test.js +203 -0
- package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
- package/dist/test/25.cosmwasm_tx.test.js +229 -0
- package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
- package/dist/test/26.cosmwasm_query.test.js +209 -0
- package/dist/test/27.arbitary_sign.test.d.ts +1 -0
- package/dist/test/27.arbitary_sign.test.js +159 -0
- package/dist/test/28.ibc_tx.test.d.ts +1 -0
- package/dist/test/28.ibc_tx.test.js +98 -0
- package/dist/test/29.mint_query.test.d.ts +1 -0
- package/dist/test/29.mint_query.test.js +59 -0
- package/dist/test/30.cw20_tx.test.d.ts +1 -0
- package/dist/test/30.cw20_tx.test.js +450 -0
- package/dist/test/31.cw20_query.test.d.ts +1 -0
- package/dist/test/31.cw20_query.test.js +333 -0
- package/dist/test/32.cw721_tx.test.d.ts +1 -0
- package/dist/test/32.cw721_tx.test.js +431 -0
- package/dist/test/33.cw721_query.test.d.ts +1 -0
- package/dist/test/33.cw721_query.test.js +371 -0
- package/dist/test/34.cw_bridge_tx.test.d.ts +1 -0
- package/dist/test/34.cw_bridge_tx.test.js +476 -0
- package/dist/test/35.cw_bridge_tx_low.test.d.ts +1 -0
- package/dist/test/35.cw_bridge_tx_low.test.js +398 -0
- package/dist/test/36.cw_bridge_query.test.d.ts +1 -0
- package/dist/test/36.cw_bridge_query.test.js +318 -0
- package/dist/test/37.cw_marketplace_tx.test.d.ts +1 -0
- package/dist/test/37.cw_marketplace_tx.test.js +794 -0
- package/dist/test/38.cw_marketplace_query.test.d.ts +1 -0
- package/dist/test/38.cw_marketplace_query.test.js +128 -0
- package/dist/test/config_test.d.ts +11 -0
- package/dist/test/config_test.js +29 -0
- package/dist/test/config_test.sample.d.ts +5 -0
- package/dist/test/config_test.sample.js +8 -0
- package/package.json +9 -7
- package/dist/sdk/firmachain/common/signingaminostargateclient.d.ts +0 -50
- package/dist/sdk/firmachain/common/signingaminostargateclient.js +0 -267
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var chai_1 = require("chai");
|
|
40
|
+
var __1 = require("..");
|
|
41
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
42
|
+
var 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
|
+
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
|
+
chai_1.expect(result[0].amount).to.not.equal("");
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
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
|
+
chai_1.expect(result[0].amount).to.not.equal("");
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
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
|
+
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
|
+
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
|
+
chai_1.expect(result.total).to.be.equal('');
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
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
|
+
chai_1.expect(amount).to.not.equal('');
|
|
186
|
+
return [3 /*break*/, 4];
|
|
187
|
+
case 3:
|
|
188
|
+
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
|
+
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
|
+
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
|
+
chai_1.expect(totalReward.rewards.length).to.equal(0);
|
|
239
|
+
return [2 /*return*/];
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}); });
|
|
243
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,311 @@
|
|
|
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 common_1 = require("../sdk/firmachain/common");
|
|
52
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
53
|
+
var config_test_1 = require("./config_test");
|
|
54
|
+
// If test it, the properties of the chain change, so skip it.
|
|
55
|
+
describe('[16. Gov Tx Test]', function () {
|
|
56
|
+
var firma;
|
|
57
|
+
var aliceWallet;
|
|
58
|
+
var aliceAddress;
|
|
59
|
+
var bobWallet;
|
|
60
|
+
var bobAddress;
|
|
61
|
+
var extractValue = function (events, eventType, attrKey) {
|
|
62
|
+
var e_1, _a, e_2, _b;
|
|
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 === eventType) {
|
|
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 === attrKey) {
|
|
71
|
+
return 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 "";
|
|
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
|
+
// Test order
|
|
118
|
+
// 1. submitProposal
|
|
119
|
+
// 2. deposit(for pass minium deposit value)
|
|
120
|
+
// 3. vote
|
|
121
|
+
it('SubmitTextProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
122
|
+
var initialDepositFCT, title, description, result;
|
|
123
|
+
return __generator(this, function (_a) {
|
|
124
|
+
switch (_a.label) {
|
|
125
|
+
case 0:
|
|
126
|
+
initialDepositFCT = 2500;
|
|
127
|
+
title = "test submit proposal";
|
|
128
|
+
description = "test description";
|
|
129
|
+
return [4 /*yield*/, firma.Gov.submitTextProposal(aliceWallet, title, description, initialDepositFCT)];
|
|
130
|
+
case 1:
|
|
131
|
+
result = _a.sent();
|
|
132
|
+
chai_1.expect(result.code).to.equal(0);
|
|
133
|
+
return [2 /*return*/];
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}); });
|
|
137
|
+
it.skip('SubmitCommunityPoolSpendProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
138
|
+
var initialDepositFCT, title, description, amount, recipient, result;
|
|
139
|
+
return __generator(this, function (_a) {
|
|
140
|
+
switch (_a.label) {
|
|
141
|
+
case 0:
|
|
142
|
+
initialDepositFCT = 10;
|
|
143
|
+
title = "Community spend proposal1";
|
|
144
|
+
description = "This is a community spend proposal";
|
|
145
|
+
amount = 1000;
|
|
146
|
+
recipient = bobAddress;
|
|
147
|
+
return [4 /*yield*/, firma.Gov.submitCommunityPoolSpendProposal(aliceWallet, title, description, initialDepositFCT, amount, recipient)];
|
|
148
|
+
case 1:
|
|
149
|
+
result = _a.sent();
|
|
150
|
+
chai_1.expect(result.code).to.equal(0);
|
|
151
|
+
return [2 /*return*/];
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}); });
|
|
155
|
+
it.skip('SubmitParameterChangeProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
+
var initialDepositFCT, title, description, changeParamList, result;
|
|
157
|
+
return __generator(this, function (_a) {
|
|
158
|
+
switch (_a.label) {
|
|
159
|
+
case 0:
|
|
160
|
+
initialDepositFCT = 10;
|
|
161
|
+
title = "Parameter Change proposal1";
|
|
162
|
+
description = "This is a Parameter change proposal";
|
|
163
|
+
changeParamList = [{
|
|
164
|
+
subspace: "staking",
|
|
165
|
+
key: "MaxValidators",
|
|
166
|
+
value: "100",
|
|
167
|
+
}];
|
|
168
|
+
return [4 /*yield*/, firma.Gov.submitParameterChangeProposal(aliceWallet, title, description, initialDepositFCT, changeParamList)];
|
|
169
|
+
case 1:
|
|
170
|
+
result = _a.sent();
|
|
171
|
+
chai_1.expect(result.code).to.equal(0);
|
|
172
|
+
return [2 /*return*/];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}); });
|
|
176
|
+
// This unit test needs specific option setup, so it’s skipped by default.
|
|
177
|
+
it.skip('SubmitSoftwareUpgradeProposalByHeight Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
178
|
+
var initialDepositFCT, title, description, upgradeName, upgradeHeight, gas, fee, result;
|
|
179
|
+
return __generator(this, function (_a) {
|
|
180
|
+
switch (_a.label) {
|
|
181
|
+
case 0:
|
|
182
|
+
initialDepositFCT = 5000;
|
|
183
|
+
title = "FIRMACHAIN v0.5.0 Upgrade";
|
|
184
|
+
description = "## OVERVIEW\nThis is a proposal on FIRMACHAIN Software Upgrade(v0.5.0-alpha1).\n\nneed form (comment)\n\nOnce this proposal passes, the FIRMACHAIN network will be upgraded at block height [xxx,xxx].\n\n## Upgrade features\nFollowing are the details of this upgrade. \n - Cosmos SDK : v0.45.9 -> v0.50.12\n - CometBFT : v0.34.21 -> v0.38.17\n - Chain Binary : v0.4.0 -> v0.5.0\n - IBC-go(IBC) : v4.4.0 -> v8.6.1\n - Wasmd : v0.29.2 -> v0.54.0\n - New Governance parameters\n\t - MinInitialDepositRatio : 0.5\n\t - ProposalCancelRatio : 0.5\n\n## Timeline\nneed form (comment)\n\nIf we are faced with any problems during the upgrade, a hasty and swift communication via Discord is necessary to solve the issue.\nAny FIRMACHAIN Validator who hasn't joined our Discord channel must contact us at contact@firmachain.org before this Software Upgrade.\n\n## Actions required by node operators\nOnce this proposal passes and when the block height reaches xxxxx, any block creation activity on the FIRMACHAIN (Colosseum-1) network will be halted. \nAll Validators must upgrade using the manual binary switch or the Cosmovisor in order to conduct the FIRMACHAIN Software Upgrade.\n\nFor a more detailed upgrade guide, please visit https://github.com/FirmaChain/mainnet/blob/main/docs/upgrade-notes-v0.5.0.md";
|
|
185
|
+
upgradeName = "v0.5.0";
|
|
186
|
+
upgradeHeight = 558800;
|
|
187
|
+
return [4 /*yield*/, firma.Gov.getGasEstimationSubmitSoftwareUpgradeProposalByHeight(aliceWallet, title, description, initialDepositFCT, upgradeName, upgradeHeight)];
|
|
188
|
+
case 1:
|
|
189
|
+
gas = _a.sent();
|
|
190
|
+
fee = Math.ceil(gas * 0.1);
|
|
191
|
+
return [4 /*yield*/, firma.Gov.submitSoftwareUpgradeProposalByHeight(aliceWallet, title, description, initialDepositFCT, upgradeName, upgradeHeight, { gas: gas, fee: fee })];
|
|
192
|
+
case 2:
|
|
193
|
+
result = _a.sent();
|
|
194
|
+
chai_1.expect(result.code).to.equal(0);
|
|
195
|
+
return [2 /*return*/];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}); });
|
|
199
|
+
// This unit test needs specific option setup, so it’s skipped by default.
|
|
200
|
+
it.skip('SubmitCancelSoftwareUpgradeProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
201
|
+
var initialDepositFCT, title, description, result;
|
|
202
|
+
return __generator(this, function (_a) {
|
|
203
|
+
switch (_a.label) {
|
|
204
|
+
case 0:
|
|
205
|
+
initialDepositFCT = 1000;
|
|
206
|
+
title = "Software Upgrade proposal1";
|
|
207
|
+
description = "This is a software upgrade proposal";
|
|
208
|
+
return [4 /*yield*/, firma.Gov.submitCancelSoftwareUpgradeProposal(aliceWallet, title, description, initialDepositFCT)];
|
|
209
|
+
case 1:
|
|
210
|
+
result = _a.sent();
|
|
211
|
+
chai_1.expect(result.code).to.equal(0);
|
|
212
|
+
return [2 /*return*/];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}); });
|
|
216
|
+
it('SubmitTextProposal & CancelProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
217
|
+
var initialDeposit, title, description, gas, fee, result, proposal_id;
|
|
218
|
+
return __generator(this, function (_a) {
|
|
219
|
+
switch (_a.label) {
|
|
220
|
+
case 0:
|
|
221
|
+
initialDeposit = 5000;
|
|
222
|
+
title = "CancelProposal test proposal";
|
|
223
|
+
description = "This is a Text & CancelProposal";
|
|
224
|
+
return [4 /*yield*/, firma.Gov.getGasEstimationSubmitTextProposal(aliceWallet, title, description, initialDeposit)];
|
|
225
|
+
case 1:
|
|
226
|
+
gas = _a.sent();
|
|
227
|
+
fee = Math.ceil(gas * 0.1);
|
|
228
|
+
return [4 /*yield*/, firma.Gov.submitTextProposal(aliceWallet, title, description, initialDeposit, { gas: gas, fee: fee })];
|
|
229
|
+
case 2:
|
|
230
|
+
result = _a.sent();
|
|
231
|
+
proposal_id = extractValue(result.events, "submit_proposal", "proposal_id");
|
|
232
|
+
chai_1.expect(result.code).to.be.equal(0);
|
|
233
|
+
return [4 /*yield*/, firma.Gov.getGasEstimationCancelProposal(aliceWallet, proposal_id)];
|
|
234
|
+
case 3:
|
|
235
|
+
// CancelProposal
|
|
236
|
+
gas = _a.sent();
|
|
237
|
+
fee = Math.ceil(gas * 0.1);
|
|
238
|
+
return [4 /*yield*/, firma.Gov.cancelProposal(aliceWallet, proposal_id, { gas: gas, fee: fee })];
|
|
239
|
+
case 4:
|
|
240
|
+
result = _a.sent();
|
|
241
|
+
chai_1.expect(result.code).to.be.equal(0);
|
|
242
|
+
return [2 /*return*/];
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
}); });
|
|
246
|
+
// NOTICE: time-based upgrades have been deprecated in the SDK: invalid request
|
|
247
|
+
/*it.skip('SubmitSoftwareUpgradeProposalByTime Test', async () => {
|
|
248
|
+
|
|
249
|
+
const initialDepositFCT = 8;
|
|
250
|
+
const title = "Software Upgrade proposal2";
|
|
251
|
+
const description = "This is a software upgrade proposal";
|
|
252
|
+
|
|
253
|
+
const expirationDate = new Date();
|
|
254
|
+
expirationDate.setMinutes(expirationDate.getMinutes() + 3);
|
|
255
|
+
|
|
256
|
+
const upgradeName = "v0.2.4";
|
|
257
|
+
const upgradeTime = expirationDate;
|
|
258
|
+
const upgradeInfo = "info?";
|
|
259
|
+
|
|
260
|
+
var result = await firma.Gov.SubmitSoftwareUpgradeProposalByTime(aliceWallet, title, description, initialDepositFCT, upgradeName, upgradeTime);
|
|
261
|
+
|
|
262
|
+
console.log(result);
|
|
263
|
+
expect(result.code).to.equal(0);
|
|
264
|
+
});*/
|
|
265
|
+
// TODO: get recent gov proposal list and then set proposalId for below case
|
|
266
|
+
var tempProposalId = 15;
|
|
267
|
+
// more deposit after initial deposit case
|
|
268
|
+
it.skip('Deposit OK', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
269
|
+
var proposalId, amount, result;
|
|
270
|
+
return __generator(this, function (_a) {
|
|
271
|
+
switch (_a.label) {
|
|
272
|
+
case 0:
|
|
273
|
+
proposalId = tempProposalId;
|
|
274
|
+
amount = 2500;
|
|
275
|
+
return [4 /*yield*/, firma.Gov.deposit(aliceWallet, proposalId, amount)];
|
|
276
|
+
case 1:
|
|
277
|
+
result = _a.sent();
|
|
278
|
+
chai_1.expect(result.code).to.equal(0);
|
|
279
|
+
return [2 /*return*/];
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}); });
|
|
283
|
+
it.skip('Vote - alice YES', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
284
|
+
var proposalId, result;
|
|
285
|
+
return __generator(this, function (_a) {
|
|
286
|
+
switch (_a.label) {
|
|
287
|
+
case 0:
|
|
288
|
+
proposalId = tempProposalId;
|
|
289
|
+
return [4 /*yield*/, firma.Gov.vote(aliceWallet, proposalId, common_1.VotingOption.VOTE_OPTION_YES)];
|
|
290
|
+
case 1:
|
|
291
|
+
result = _a.sent();
|
|
292
|
+
chai_1.expect(result.code).to.equal(0);
|
|
293
|
+
return [2 /*return*/];
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}); });
|
|
297
|
+
it.skip('Vote - bob NO', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
298
|
+
var proposalId, result;
|
|
299
|
+
return __generator(this, function (_a) {
|
|
300
|
+
switch (_a.label) {
|
|
301
|
+
case 0:
|
|
302
|
+
proposalId = tempProposalId;
|
|
303
|
+
return [4 /*yield*/, firma.Gov.vote(bobWallet, proposalId, common_1.VotingOption.VOTE_OPTION_NO)];
|
|
304
|
+
case 1:
|
|
305
|
+
result = _a.sent();
|
|
306
|
+
chai_1.expect(result.code).to.equal(0);
|
|
307
|
+
return [2 /*return*/];
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
}); });
|
|
311
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|