@firmachain/firma-js 0.2.62 → 0.2.64
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/dist/sdk/FirmaCosmWasmCw721.d.ts +18 -0
- package/dist/sdk/FirmaCosmWasmCw721.js +25 -0
- package/dist/test/00.wallet.test.d.ts +1 -0
- package/dist/test/00.wallet.test.js +90 -0
- package/dist/test/01.contract_tx.test.d.ts +1 -0
- package/dist/test/01.contract_tx.test.js +149 -0
- package/dist/test/02.contract_query.test.d.ts +1 -0
- package/dist/test/02.contract_query.test.js +222 -0
- package/dist/test/03.contract_scenario.test.d.ts +1 -0
- package/dist/test/03.contract_scenario.test.js +562 -0
- package/dist/test/04.bank_tx.test.d.ts +1 -0
- package/dist/test/04.bank_tx.test.js +127 -0
- package/dist/test/05.bank_query.test.d.ts +1 -0
- package/dist/test/05.bank_query.test.js +167 -0
- package/dist/test/06.feegrant_tx.test.d.ts +1 -0
- package/dist/test/06.feegrant_tx.test.js +176 -0
- package/dist/test/07.feegrant_query.test.d.ts +1 -0
- package/dist/test/07.feegrant_query.test.js +84 -0
- package/dist/test/08.gas_estimate.test.d.ts +1 -0
- package/dist/test/08.gas_estimate.test.js +703 -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 +177 -0
- package/dist/test/11.nft_query.test.d.ts +1 -0
- package/dist/test/11.nft_query.test.js +170 -0
- package/dist/test/12.staking_tx.test.d.ts +1 -0
- package/dist/test/12.staking_tx.test.js +216 -0
- package/dist/test/13.staking_query.test.d.ts +1 -0
- package/dist/test/13.staking_query.test.js +209 -0
- package/dist/test/14.distribution_tx.test.d.ts +1 -0
- package/dist/test/14.distribution_tx.test.js +179 -0
- package/dist/test/15.distribution_query.test.d.ts +1 -0
- package/dist/test/15.distribution_query.test.js +219 -0
- package/dist/test/16.gov_tx.test.d.ts +1 -0
- package/dist/test/16.gov_tx.test.js +240 -0
- package/dist/test/17.gov_query.test.d.ts +1 -0
- package/dist/test/17.gov_query.test.js +118 -0
- package/dist/test/18.util.test.d.ts +1 -0
- package/dist/test/18.util.test.js +246 -0
- package/dist/test/19.chain.test.d.ts +1 -0
- package/dist/test/19.chain.test.js +81 -0
- package/dist/test/20.slashing_query.test.d.ts +1 -0
- package/dist/test/20.slashing_query.test.js +82 -0
- package/dist/test/21.token_tx.test.d.ts +1 -0
- package/dist/test/21.token_tx.test.js +157 -0
- package/dist/test/22.token_query.test.d.ts +1 -0
- package/dist/test/22.token_query.test.js +99 -0
- package/dist/test/23.authz_tx.test.d.ts +1 -0
- package/dist/test/23.authz_tx.test.js +471 -0
- package/dist/test/24.authz_query.test.d.ts +1 -0
- package/dist/test/24.authz_query.test.js +143 -0
- package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
- package/dist/test/25.cosmwasm_tx.test.js +191 -0
- package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
- package/dist/test/26.cosmwasm_query.test.js +169 -0
- package/dist/test/27.arbitary_sign.test.d.ts +1 -0
- package/dist/test/27.arbitary_sign.test.js +167 -0
- package/dist/test/28.ibc_tx.test.d.ts +1 -0
- package/dist/test/28.ibc_tx.test.js +86 -0
- package/dist/test/29.mint_query.test.d.ts +1 -0
- package/dist/test/29.mint_query.test.js +57 -0
- package/dist/test/30.cw20_tx.test.d.ts +1 -0
- package/dist/test/30.cw20_tx.test.js +515 -0
- package/dist/test/31.cw20_query.test.d.ts +1 -0
- package/dist/test/31.cw20_query.test.js +187 -0
- package/dist/test/32.cw721_tx.test.d.ts +1 -0
- package/dist/test/32.cw721_tx.test.js +433 -0
- package/dist/test/33.cw721_query.test.d.ts +1 -0
- package/dist/test/33.cw721_query.test.js +219 -0
- package/dist/test/34.cw_bridge_tx.test.d.ts +1 -0
- package/dist/test/34.cw_bridge_tx.test.js +365 -0
- package/dist/test/35.cw_bridge_tx_low.test.d.ts +1 -0
- package/dist/test/35.cw_bridge_tx_low.test.js +258 -0
- package/dist/test/36.cw_bridge_query.test.d.ts +1 -0
- package/dist/test/36.cw_bridge_query.test.js +182 -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 +5 -0
- package/dist/test/config_test.js +20 -0
- package/package.json +1 -1
|
@@ -0,0 +1,240 @@
|
|
|
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 common_1 = require("../sdk/firmachain/common");
|
|
41
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
42
|
+
var config_test_1 = require("./config_test");
|
|
43
|
+
// If test it, the properties of the chain change, so skip it.
|
|
44
|
+
describe.skip('[16. Gov Tx Test]', function () {
|
|
45
|
+
var firma;
|
|
46
|
+
beforeEach(function () {
|
|
47
|
+
firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
|
|
48
|
+
});
|
|
49
|
+
// Test order
|
|
50
|
+
// 1. submitProposal
|
|
51
|
+
// 2. deposit(for pass minium deposit value)
|
|
52
|
+
// 3. vote
|
|
53
|
+
it('SubmitTextProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
54
|
+
var wallet, initialDepositFCT, title, description, result;
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
58
|
+
case 1:
|
|
59
|
+
wallet = _a.sent();
|
|
60
|
+
initialDepositFCT = 10;
|
|
61
|
+
title = "test submit proposal";
|
|
62
|
+
description = "test description";
|
|
63
|
+
return [4 /*yield*/, firma.Gov.submitTextProposal(wallet, title, description, initialDepositFCT)];
|
|
64
|
+
case 2:
|
|
65
|
+
result = _a.sent();
|
|
66
|
+
console.log(result);
|
|
67
|
+
chai_1.expect(result.code).to.equal(0);
|
|
68
|
+
return [2 /*return*/];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}); });
|
|
72
|
+
it('SubmitCommunityPoolSpendProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
+
var aliceWallet, bobWallet, initialDepositFCT, title, description, amount, recipient, result;
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
76
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
77
|
+
case 1:
|
|
78
|
+
aliceWallet = _a.sent();
|
|
79
|
+
return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
|
|
80
|
+
case 2:
|
|
81
|
+
bobWallet = _a.sent();
|
|
82
|
+
initialDepositFCT = 10;
|
|
83
|
+
title = "Community spend proposal1";
|
|
84
|
+
description = "This is a community spend proposal";
|
|
85
|
+
amount = 1000;
|
|
86
|
+
return [4 /*yield*/, bobWallet.getAddress()];
|
|
87
|
+
case 3:
|
|
88
|
+
recipient = _a.sent();
|
|
89
|
+
return [4 /*yield*/, firma.Gov.submitCommunityPoolSpendProposal(aliceWallet, title, description, initialDepositFCT, amount, recipient)];
|
|
90
|
+
case 4:
|
|
91
|
+
result = _a.sent();
|
|
92
|
+
console.log(result);
|
|
93
|
+
chai_1.expect(result.code).to.equal(0);
|
|
94
|
+
return [2 /*return*/];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}); });
|
|
98
|
+
it('SubmitParameterChangeProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
99
|
+
var aliceWallet, initialDepositFCT, title, description, changeParamList, result;
|
|
100
|
+
return __generator(this, function (_a) {
|
|
101
|
+
switch (_a.label) {
|
|
102
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
103
|
+
case 1:
|
|
104
|
+
aliceWallet = _a.sent();
|
|
105
|
+
initialDepositFCT = 10;
|
|
106
|
+
title = "Parameter Change proposal1";
|
|
107
|
+
description = "This is a Parameter change proposal";
|
|
108
|
+
changeParamList = [{
|
|
109
|
+
subspace: "staking",
|
|
110
|
+
key: "MaxValidators",
|
|
111
|
+
value: "100",
|
|
112
|
+
}];
|
|
113
|
+
return [4 /*yield*/, firma.Gov.submitParameterChangeProposal(aliceWallet, title, description, initialDepositFCT, changeParamList)];
|
|
114
|
+
case 2:
|
|
115
|
+
result = _a.sent();
|
|
116
|
+
console.log(result);
|
|
117
|
+
chai_1.expect(result.code).to.equal(0);
|
|
118
|
+
return [2 /*return*/];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}); });
|
|
122
|
+
it('SubmitSoftwareUpgradeProposalByHeight Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
123
|
+
var aliceWallet, initialDepositFCT, title, description, upgradeName, upgradeHeight, result;
|
|
124
|
+
return __generator(this, function (_a) {
|
|
125
|
+
switch (_a.label) {
|
|
126
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
127
|
+
case 1:
|
|
128
|
+
aliceWallet = _a.sent();
|
|
129
|
+
initialDepositFCT = 10000;
|
|
130
|
+
title = "Software Upgrade proposal1";
|
|
131
|
+
description = "This is a software upgrade proposal";
|
|
132
|
+
upgradeName = "v0.2.7";
|
|
133
|
+
upgradeHeight = 20000000;
|
|
134
|
+
return [4 /*yield*/, firma.Gov.submitSoftwareUpgradeProposalByHeight(aliceWallet, title, description, initialDepositFCT, upgradeName, upgradeHeight)];
|
|
135
|
+
case 2:
|
|
136
|
+
result = _a.sent();
|
|
137
|
+
console.log(result);
|
|
138
|
+
chai_1.expect(result.code).to.equal(0);
|
|
139
|
+
return [2 /*return*/];
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}); });
|
|
143
|
+
it('SubmitCancelSoftwareUpgradeProposal Test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
144
|
+
var aliceWallet, initialDepositFCT, title, description, result;
|
|
145
|
+
return __generator(this, function (_a) {
|
|
146
|
+
switch (_a.label) {
|
|
147
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
148
|
+
case 1:
|
|
149
|
+
aliceWallet = _a.sent();
|
|
150
|
+
initialDepositFCT = 1000;
|
|
151
|
+
title = "Software Upgrade proposal1";
|
|
152
|
+
description = "This is a software upgrade proposal";
|
|
153
|
+
return [4 /*yield*/, firma.Gov.submitCancelSoftwareUpgradeProposal(aliceWallet, title, description, initialDepositFCT)];
|
|
154
|
+
case 2:
|
|
155
|
+
result = _a.sent();
|
|
156
|
+
console.log(result);
|
|
157
|
+
chai_1.expect(result.code).to.equal(0);
|
|
158
|
+
return [2 /*return*/];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}); });
|
|
162
|
+
// NOTICE: time-based upgrades have been deprecated in the SDK: invalid request
|
|
163
|
+
/*it.skip('SubmitSoftwareUpgradeProposalByTime Test', async () => {
|
|
164
|
+
|
|
165
|
+
const aliceWallet = await firma.Wallet.fromMnemonic(aliceMnemonic);
|
|
166
|
+
const bobWallet = await firma.Wallet.fromMnemonic(bobMnemonic);
|
|
167
|
+
|
|
168
|
+
const initialDepositFCT = 8;
|
|
169
|
+
const title = "Software Upgrade proposal2";
|
|
170
|
+
const description = "This is a software upgrade proposal";
|
|
171
|
+
|
|
172
|
+
const expirationDate = new Date();
|
|
173
|
+
expirationDate.setMinutes(expirationDate.getMinutes() + 3);
|
|
174
|
+
|
|
175
|
+
const upgradeName = "v0.2.4";
|
|
176
|
+
const upgradeTime = expirationDate;
|
|
177
|
+
const upgradeInfo = "info?";
|
|
178
|
+
|
|
179
|
+
var result = await firma.Gov.SubmitSoftwareUpgradeProposalByTime(aliceWallet, title, description, initialDepositFCT, upgradeName, upgradeTime);
|
|
180
|
+
|
|
181
|
+
console.log(result);
|
|
182
|
+
expect(result.code).to.equal(0);
|
|
183
|
+
});*/
|
|
184
|
+
// TODO: get recent gov proposal list and then set proposalId for below case
|
|
185
|
+
var tempProposalId = 1;
|
|
186
|
+
// more deposit after initial deposit case
|
|
187
|
+
it('Deposit OK', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
188
|
+
var wallet, proposalId, amount, result;
|
|
189
|
+
return __generator(this, function (_a) {
|
|
190
|
+
switch (_a.label) {
|
|
191
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
192
|
+
case 1:
|
|
193
|
+
wallet = _a.sent();
|
|
194
|
+
proposalId = tempProposalId;
|
|
195
|
+
amount = 1000;
|
|
196
|
+
return [4 /*yield*/, firma.Gov.deposit(wallet, proposalId, amount)];
|
|
197
|
+
case 2:
|
|
198
|
+
result = _a.sent();
|
|
199
|
+
//console.log(result);
|
|
200
|
+
chai_1.expect(result.code).to.equal(0);
|
|
201
|
+
return [2 /*return*/];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}); });
|
|
205
|
+
it('Vote - alice YES', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
206
|
+
var wallet, proposalId, result;
|
|
207
|
+
return __generator(this, function (_a) {
|
|
208
|
+
switch (_a.label) {
|
|
209
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
210
|
+
case 1:
|
|
211
|
+
wallet = _a.sent();
|
|
212
|
+
proposalId = tempProposalId;
|
|
213
|
+
return [4 /*yield*/, firma.Gov.vote(wallet, proposalId, common_1.VotingOption.VOTE_OPTION_YES)];
|
|
214
|
+
case 2:
|
|
215
|
+
result = _a.sent();
|
|
216
|
+
//console.log(result);
|
|
217
|
+
chai_1.expect(result.code).to.equal(0);
|
|
218
|
+
return [2 /*return*/];
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}); });
|
|
222
|
+
it('Vote - bob NO', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
223
|
+
var wallet, proposalId, result;
|
|
224
|
+
return __generator(this, function (_a) {
|
|
225
|
+
switch (_a.label) {
|
|
226
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
|
|
227
|
+
case 1:
|
|
228
|
+
wallet = _a.sent();
|
|
229
|
+
proposalId = tempProposalId;
|
|
230
|
+
return [4 /*yield*/, firma.Gov.vote(wallet, proposalId, common_1.VotingOption.VOTE_OPTION_NO)];
|
|
231
|
+
case 2:
|
|
232
|
+
result = _a.sent();
|
|
233
|
+
//console.log(result);
|
|
234
|
+
chai_1.expect(result.code).to.equal(0);
|
|
235
|
+
return [2 /*return*/];
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}); });
|
|
239
|
+
// TODO: more voting case need it!
|
|
240
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
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 gov_1 = require("../sdk/firmachain/gov");
|
|
40
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
41
|
+
var config_test_1 = require("./config_test");
|
|
42
|
+
describe('[17. Gov Query Test]', function () {
|
|
43
|
+
var firma;
|
|
44
|
+
beforeEach(function () {
|
|
45
|
+
firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
|
|
46
|
+
});
|
|
47
|
+
it('get getProposalList', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var proposalList;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, firma.Gov.getProposalList()];
|
|
52
|
+
case 1:
|
|
53
|
+
proposalList = _a.sent();
|
|
54
|
+
return [2 /*return*/];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}); });
|
|
58
|
+
it('get getProposalListByStatus', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
59
|
+
var status, proposalList;
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
switch (_a.label) {
|
|
62
|
+
case 0:
|
|
63
|
+
status = gov_1.ProposalStatus.PROPOSAL_STATUS_REJECTED;
|
|
64
|
+
return [4 /*yield*/, firma.Gov.getProposalListByStatus(status)];
|
|
65
|
+
case 1:
|
|
66
|
+
proposalList = _a.sent();
|
|
67
|
+
return [2 /*return*/];
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}); });
|
|
71
|
+
it('get getProposal', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
72
|
+
var proposalList, id, proposal;
|
|
73
|
+
return __generator(this, function (_a) {
|
|
74
|
+
switch (_a.label) {
|
|
75
|
+
case 0: return [4 /*yield*/, firma.Gov.getProposalList()];
|
|
76
|
+
case 1:
|
|
77
|
+
proposalList = _a.sent();
|
|
78
|
+
if (!(proposalList.length > 0)) return [3 /*break*/, 3];
|
|
79
|
+
id = "1";
|
|
80
|
+
return [4 /*yield*/, firma.Gov.getProposal(id)];
|
|
81
|
+
case 2:
|
|
82
|
+
proposal = _a.sent();
|
|
83
|
+
_a.label = 3;
|
|
84
|
+
case 3: return [2 /*return*/];
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}); });
|
|
88
|
+
// integrated function with params/voting, params/deposit, params/tallying
|
|
89
|
+
it('get params', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
90
|
+
var param;
|
|
91
|
+
return __generator(this, function (_a) {
|
|
92
|
+
switch (_a.label) {
|
|
93
|
+
case 0: return [4 /*yield*/, firma.Gov.getParam()];
|
|
94
|
+
case 1:
|
|
95
|
+
param = _a.sent();
|
|
96
|
+
return [2 /*return*/];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}); });
|
|
100
|
+
// current tally info
|
|
101
|
+
it('get getCurrentVoteInfo', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
+
var proposalList, proposalId, param;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0: return [4 /*yield*/, firma.Gov.getProposalList()];
|
|
106
|
+
case 1:
|
|
107
|
+
proposalList = _a.sent();
|
|
108
|
+
if (!(proposalList.length > 0)) return [3 /*break*/, 3];
|
|
109
|
+
proposalId = "1";
|
|
110
|
+
return [4 /*yield*/, firma.Gov.getCurrentVoteInfo(proposalId)];
|
|
111
|
+
case 2:
|
|
112
|
+
param = _a.sent();
|
|
113
|
+
_a.label = 3;
|
|
114
|
+
case 3: return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}); });
|
|
118
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,246 @@
|
|
|
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 FirmaUtil_1 = require("../sdk/FirmaUtil");
|
|
41
|
+
describe('[18. util Test]', function () {
|
|
42
|
+
// getHashFromString
|
|
43
|
+
it('getSha1HashFromString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
+
var contractName, result;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
contractName = "testContract1234";
|
|
47
|
+
result = FirmaUtil_1.FirmaUtil.getSha1HashFromString(contractName);
|
|
48
|
+
chai_1.expect(result).to.be.equal("c88753a797d1310b36673e3494005bc7485746b7");
|
|
49
|
+
return [2 /*return*/];
|
|
50
|
+
});
|
|
51
|
+
}); });
|
|
52
|
+
it('getHashFromString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var contractName, result;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
contractName = "testContract1234";
|
|
56
|
+
result = FirmaUtil_1.FirmaUtil.getHashFromString(contractName);
|
|
57
|
+
chai_1.expect(result).to.be.equal("95e55f6b55ccf6b3988a6f9ee6d9c3c0011ea93a2489e7f05d10cada2613c17f");
|
|
58
|
+
return [2 /*return*/];
|
|
59
|
+
});
|
|
60
|
+
}); });
|
|
61
|
+
it('isValidAddress test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
var validAddress, wrongAddress1, wrongAddress2, result;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
validAddress = "firma134pp6s2nv7pl4mxu58aeufdd6fv5s2zujrrmsa";
|
|
65
|
+
wrongAddress1 = "firma134pp6s2nv7pl4mxu58aeufdd6fv5s2zujrrmsb";
|
|
66
|
+
wrongAddress2 = "firma134pp6s2nv7pl4mxu58aeufdd6fv5s2zujrrmsa1";
|
|
67
|
+
result = FirmaUtil_1.FirmaUtil.isValidAddress(validAddress);
|
|
68
|
+
chai_1.expect(result).to.be.equal(true);
|
|
69
|
+
result = FirmaUtil_1.FirmaUtil.isValidAddress(wrongAddress1);
|
|
70
|
+
chai_1.expect(result).to.be.equal(false);
|
|
71
|
+
result = FirmaUtil_1.FirmaUtil.isValidAddress(wrongAddress2);
|
|
72
|
+
chai_1.expect(result).to.be.equal(false);
|
|
73
|
+
return [2 /*return*/];
|
|
74
|
+
});
|
|
75
|
+
}); });
|
|
76
|
+
it('getValOperAddressFromAccAddress test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
+
var accAddress, valoperAddress, result;
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
accAddress = "firma1a85hxs97rxsrf0yzdn72vhfu39sa0dwxv90ghy";
|
|
80
|
+
valoperAddress = "firmavaloper1a85hxs97rxsrf0yzdn72vhfu39sa0dwxjkynh2";
|
|
81
|
+
result = FirmaUtil_1.FirmaUtil.getValOperAddressFromAccAddress(accAddress);
|
|
82
|
+
chai_1.expect(result).to.be.equal(valoperAddress);
|
|
83
|
+
return [2 /*return*/];
|
|
84
|
+
});
|
|
85
|
+
}); });
|
|
86
|
+
it('getValConsAddressFromConsensusPubKey test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
87
|
+
var consensusPubkey, valconsAddress, result;
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
|
+
consensusPubkey = "InWhZBMP3wKQkwIBCrVqQ+BNoPhV5mTjpwiYHKHCZ/k=";
|
|
90
|
+
valconsAddress = "firmavalcons1fh73gr3f9df7yc390ykdnmeedetlw5ll3dqwje";
|
|
91
|
+
result = FirmaUtil_1.FirmaUtil.getValConsAddressFromAccAddress(consensusPubkey);
|
|
92
|
+
//console.log(result);
|
|
93
|
+
chai_1.expect(result).to.be.equal(valconsAddress);
|
|
94
|
+
return [2 /*return*/];
|
|
95
|
+
});
|
|
96
|
+
}); });
|
|
97
|
+
it('getAccAddressFromValOperAddress test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
98
|
+
var accAddress, valoperAddress, result;
|
|
99
|
+
return __generator(this, function (_a) {
|
|
100
|
+
accAddress = "firma1a85hxs97rxsrf0yzdn72vhfu39sa0dwxv90ghy";
|
|
101
|
+
valoperAddress = "firmavaloper1a85hxs97rxsrf0yzdn72vhfu39sa0dwxjkynh2";
|
|
102
|
+
result = FirmaUtil_1.FirmaUtil.getAccAddressFromValOperAddress(valoperAddress);
|
|
103
|
+
chai_1.expect(result).to.be.equal(accAddress);
|
|
104
|
+
return [2 /*return*/];
|
|
105
|
+
});
|
|
106
|
+
}); });
|
|
107
|
+
it('getFCTFromUFCTString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
108
|
+
var amountUFCT, fct;
|
|
109
|
+
return __generator(this, function (_a) {
|
|
110
|
+
amountUFCT = 1000000;
|
|
111
|
+
fct = FirmaUtil_1.FirmaUtil.getFCTStringFromUFCT(amountUFCT);
|
|
112
|
+
chai_1.expect(fct).to.be.equal("1");
|
|
113
|
+
amountUFCT = 1234000;
|
|
114
|
+
fct = FirmaUtil_1.FirmaUtil.getFCTStringFromUFCT(amountUFCT);
|
|
115
|
+
chai_1.expect(fct).to.be.equal("1.234");
|
|
116
|
+
return [2 /*return*/];
|
|
117
|
+
});
|
|
118
|
+
}); });
|
|
119
|
+
it('getUFCTStringFromFCT test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
120
|
+
var amountUFCT, fct;
|
|
121
|
+
return __generator(this, function (_a) {
|
|
122
|
+
amountUFCT = 1;
|
|
123
|
+
fct = FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amountUFCT);
|
|
124
|
+
chai_1.expect(fct).to.be.equal("1000000");
|
|
125
|
+
amountUFCT = 1.23;
|
|
126
|
+
fct = FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amountUFCT);
|
|
127
|
+
chai_1.expect(fct).to.be.equal("1230000");
|
|
128
|
+
return [2 /*return*/];
|
|
129
|
+
});
|
|
130
|
+
}); });
|
|
131
|
+
it('getFCTFromUFCTString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
132
|
+
var amountUFCT, fct;
|
|
133
|
+
return __generator(this, function (_a) {
|
|
134
|
+
amountUFCT = "1000000";
|
|
135
|
+
fct = FirmaUtil_1.FirmaUtil.getFCTStringFromUFCTStr(amountUFCT);
|
|
136
|
+
chai_1.expect(fct).to.be.equal("1");
|
|
137
|
+
amountUFCT = "1234000";
|
|
138
|
+
fct = FirmaUtil_1.FirmaUtil.getFCTStringFromUFCTStr(amountUFCT);
|
|
139
|
+
chai_1.expect(fct).to.be.equal("1.234");
|
|
140
|
+
return [2 /*return*/];
|
|
141
|
+
});
|
|
142
|
+
}); });
|
|
143
|
+
it('getUFCTStringFromFCT test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
144
|
+
var amountUFCT, fct;
|
|
145
|
+
return __generator(this, function (_a) {
|
|
146
|
+
amountUFCT = "1";
|
|
147
|
+
fct = FirmaUtil_1.FirmaUtil.getUFCTStringFromFCTStr(amountUFCT);
|
|
148
|
+
chai_1.expect(fct).to.be.equal("1000000");
|
|
149
|
+
amountUFCT = "1.23";
|
|
150
|
+
fct = FirmaUtil_1.FirmaUtil.getUFCTStringFromFCTStr(amountUFCT);
|
|
151
|
+
chai_1.expect(fct).to.be.equal("1230000");
|
|
152
|
+
return [2 /*return*/];
|
|
153
|
+
});
|
|
154
|
+
}); });
|
|
155
|
+
it('getTokenFromUTokenString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
+
var decimal, amountUToken, token;
|
|
157
|
+
return __generator(this, function (_a) {
|
|
158
|
+
decimal = 6;
|
|
159
|
+
amountUToken = 1000000;
|
|
160
|
+
token = FirmaUtil_1.FirmaUtil.getTokenStringFromUToken(amountUToken, decimal);
|
|
161
|
+
chai_1.expect(token).to.be.equal("1");
|
|
162
|
+
amountUToken = 1234000;
|
|
163
|
+
token = FirmaUtil_1.FirmaUtil.getTokenStringFromUToken(amountUToken, decimal);
|
|
164
|
+
chai_1.expect(token).to.be.equal("1.234");
|
|
165
|
+
return [2 /*return*/];
|
|
166
|
+
});
|
|
167
|
+
}); });
|
|
168
|
+
it('getUTokenStringFromToken test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
169
|
+
var decimal, amountUToken, token;
|
|
170
|
+
return __generator(this, function (_a) {
|
|
171
|
+
decimal = 6;
|
|
172
|
+
amountUToken = 1;
|
|
173
|
+
token = FirmaUtil_1.FirmaUtil.getUTokenStringFromToken(amountUToken, decimal);
|
|
174
|
+
chai_1.expect(token).to.be.equal("1000000");
|
|
175
|
+
amountUToken = 1.23;
|
|
176
|
+
token = FirmaUtil_1.FirmaUtil.getUTokenStringFromToken(amountUToken, decimal);
|
|
177
|
+
chai_1.expect(token).to.be.equal("1230000");
|
|
178
|
+
return [2 /*return*/];
|
|
179
|
+
});
|
|
180
|
+
}); });
|
|
181
|
+
it('cutting the ufct decimal point test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
182
|
+
var decimal, testUTokenValue, testUTokenValueStr, testTokenValueStr;
|
|
183
|
+
return __generator(this, function (_a) {
|
|
184
|
+
decimal = 6;
|
|
185
|
+
testUTokenValue = 533.827284;
|
|
186
|
+
testUTokenValueStr = "533.827284";
|
|
187
|
+
testTokenValueStr = "0.000533";
|
|
188
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getTokenStringFromUTokenStr(testUTokenValueStr, decimal)).to.be.equal(testTokenValueStr);
|
|
189
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getTokenStringFromUToken(testUTokenValue, decimal)).to.be.equal(testTokenValueStr);
|
|
190
|
+
return [2 /*return*/];
|
|
191
|
+
});
|
|
192
|
+
}); });
|
|
193
|
+
it('cutting the decimal point test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
194
|
+
var decimal, testTokenValue, testTokenValueStr, testUTokenValue, testUTokenValueStr;
|
|
195
|
+
return __generator(this, function (_a) {
|
|
196
|
+
decimal = 6;
|
|
197
|
+
testTokenValue = 533.827284;
|
|
198
|
+
testTokenValueStr = "533.827284";
|
|
199
|
+
testUTokenValue = 533827284;
|
|
200
|
+
testUTokenValueStr = "533827284";
|
|
201
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getUTokenFromToken(testTokenValue, decimal)).to.be.equal(testUTokenValue);
|
|
202
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getUTokenStringFromTokenStr(testTokenValueStr, decimal)).to.be.equal(testUTokenValueStr);
|
|
203
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getTokenStringFromUTokenStr(testUTokenValueStr, decimal)).to.be.equal(testTokenValueStr);
|
|
204
|
+
chai_1.expect(FirmaUtil_1.FirmaUtil.getTokenStringFromUToken(testUTokenValue, decimal)).to.be.equal(testTokenValueStr);
|
|
205
|
+
return [2 /*return*/];
|
|
206
|
+
});
|
|
207
|
+
}); });
|
|
208
|
+
it('getTokenFromUTokenString test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
209
|
+
var decimal, amountUToken, token;
|
|
210
|
+
return __generator(this, function (_a) {
|
|
211
|
+
decimal = 6;
|
|
212
|
+
amountUToken = "1000000";
|
|
213
|
+
token = FirmaUtil_1.FirmaUtil.getTokenStringFromUTokenStr(amountUToken, decimal);
|
|
214
|
+
chai_1.expect(token).to.be.equal("1");
|
|
215
|
+
amountUToken = "1234000";
|
|
216
|
+
token = FirmaUtil_1.FirmaUtil.getTokenStringFromUTokenStr(amountUToken, decimal);
|
|
217
|
+
chai_1.expect(token).to.be.equal("1.234");
|
|
218
|
+
return [2 /*return*/];
|
|
219
|
+
});
|
|
220
|
+
}); });
|
|
221
|
+
it('getUTokenStringFromToken test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
222
|
+
var decimal, amountUToken, token;
|
|
223
|
+
return __generator(this, function (_a) {
|
|
224
|
+
decimal = 6;
|
|
225
|
+
amountUToken = "1";
|
|
226
|
+
token = FirmaUtil_1.FirmaUtil.getUTokenStringFromTokenStr(amountUToken, decimal);
|
|
227
|
+
chai_1.expect(token).to.be.equal("1000000");
|
|
228
|
+
amountUToken = "1.23";
|
|
229
|
+
token = FirmaUtil_1.FirmaUtil.getUFCTStringFromFCTStr(amountUToken);
|
|
230
|
+
chai_1.expect(token).to.be.equal("1230000");
|
|
231
|
+
return [2 /*return*/];
|
|
232
|
+
});
|
|
233
|
+
}); });
|
|
234
|
+
it('getFileHashFromBuffer test', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
235
|
+
var testString, enc, buffer, hash;
|
|
236
|
+
return __generator(this, function (_a) {
|
|
237
|
+
testString = "hello world";
|
|
238
|
+
enc = new TextEncoder();
|
|
239
|
+
buffer = enc.encode(testString);
|
|
240
|
+
hash = FirmaUtil_1.FirmaUtil.getFileHashFromBuffer(buffer);
|
|
241
|
+
// hash from sha256 online
|
|
242
|
+
chai_1.expect(hash).to.be.equal("b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9");
|
|
243
|
+
return [2 /*return*/];
|
|
244
|
+
});
|
|
245
|
+
}); });
|
|
246
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|