@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,229 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var fs_1 = __importDefault(require("fs"));
54
- var chai_1 = require("chai");
55
- var FirmaSDK_1 = require("../sdk/FirmaSDK");
56
- var FirmaUtil_1 = require("../sdk/FirmaUtil");
57
- var FirmaCosmWasmService_1 = require("../sdk/FirmaCosmWasmService");
58
- var config_test_1 = require("./config_test");
59
- describe('[25. CosmWasm Tx Test]', function () {
60
- var firma;
61
- var aliceWallet;
62
- var bobWallet;
63
- var aliceAddress;
64
- var bobAddress;
65
- var extractValue = function (events, eventType, attrKey) {
66
- var e_1, _a, e_2, _b;
67
- try {
68
- for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
69
- var event_1 = events_1_1.value;
70
- if (event_1.type === eventType) {
71
- try {
72
- for (var _c = (e_2 = void 0, __values(event_1.attributes)), _d = _c.next(); !_d.done; _d = _c.next()) {
73
- var attr = _d.value;
74
- if (attr.key === attrKey) {
75
- return attr.value;
76
- }
77
- }
78
- }
79
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
80
- finally {
81
- try {
82
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
83
- }
84
- finally { if (e_2) throw e_2.error; }
85
- }
86
- }
87
- }
88
- }
89
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
90
- finally {
91
- try {
92
- if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
93
- }
94
- finally { if (e_1) throw e_1.error; }
95
- }
96
- return "";
97
- };
98
- beforeEach(function () {
99
- return __awaiter(this, void 0, void 0, function () {
100
- return __generator(this, function (_a) {
101
- switch (_a.label) {
102
- case 0:
103
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
104
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
105
- case 1:
106
- aliceWallet = _a.sent();
107
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
108
- case 2:
109
- bobWallet = _a.sent();
110
- return [4 /*yield*/, aliceWallet.getAddress()];
111
- case 3:
112
- aliceAddress = _a.sent();
113
- return [4 /*yield*/, bobWallet.getAddress()];
114
- case 4:
115
- bobAddress = _a.sent();
116
- return [2 /*return*/];
117
- }
118
- });
119
- });
120
- });
121
- // sample : cw_nameservice.wasm
122
- // https://docs.cosmwasm.com/docs/1.0/getting-started/compile-contract
123
- var codeId = "";
124
- var contractAddress = "";
125
- it('CosmWasm StoreCode', function () { return __awaiter(void 0, void 0, void 0, function () {
126
- var wasmFile, array, gas, fee, everyBodyAccessConfig, result;
127
- return __generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0:
130
- wasmFile = fs_1.default.readFileSync("./test/sample/cw_nameservice.wasm");
131
- array = new Uint8Array(wasmFile.buffer);
132
- gas = 3000000;
133
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
134
- everyBodyAccessConfig = { permission: FirmaCosmWasmService_1.AccessType.ACCESS_TYPE_EVERYBODY, address: "", addresses: [] };
135
- return [4 /*yield*/, firma.CosmWasm.storeCode(aliceWallet, array, everyBodyAccessConfig, { gas: gas, fee: fee })];
136
- case 1:
137
- result = _a.sent();
138
- codeId = extractValue(result.events, "store_code", "code_id");
139
- (0, chai_1.expect)(result.code).to.be.equal(0);
140
- return [2 /*return*/];
141
- }
142
- });
143
- }); });
144
- it('CosmWasm InstantiateContract', function () { return __awaiter(void 0, void 0, void 0, function () {
145
- var admin, label, gas, fee, funds, testData, result;
146
- return __generator(this, function (_a) {
147
- switch (_a.label) {
148
- case 0:
149
- admin = aliceAddress;
150
- label = "test1";
151
- gas = 3000000;
152
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
153
- funds = [];
154
- testData = JSON.stringify({ "purchase_price": { "amount": "100", "denom": "ufct" }, "transfer_price": { "amount": "999", "denom": "ufct" } });
155
- return [4 /*yield*/, firma.CosmWasm.instantiateContract(aliceWallet, admin, codeId, label, testData, funds, { gas: gas, fee: fee })];
156
- case 1:
157
- result = _a.sent();
158
- contractAddress = extractValue(result.events, "instantiate", "_contract_address");
159
- (0, chai_1.expect)(result.code).to.be.equal(0);
160
- return [2 /*return*/];
161
- }
162
- });
163
- }); });
164
- it('CosmWasm ExecuteContract', function () { return __awaiter(void 0, void 0, void 0, function () {
165
- var gas, fee, testData, amountFCT, funds, result;
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0:
169
- gas = 3000000;
170
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
171
- testData = JSON.stringify({ "register": { "name": "fred" } });
172
- amountFCT = 0.01;
173
- funds = [{ denom: firma.Config.denom, amount: FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amountFCT) }];
174
- return [4 /*yield*/, firma.CosmWasm.executeContract(aliceWallet, contractAddress, testData, funds, { gas: gas, fee: fee })];
175
- case 1:
176
- result = _a.sent();
177
- (0, chai_1.expect)(result.code).to.be.equal(0);
178
- return [2 /*return*/];
179
- }
180
- });
181
- }); });
182
- it('CosmWasm UpdateAdmin', function () { return __awaiter(void 0, void 0, void 0, function () {
183
- var gas, fee, result;
184
- return __generator(this, function (_a) {
185
- switch (_a.label) {
186
- case 0:
187
- gas = 3000000;
188
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
189
- return [4 /*yield*/, firma.CosmWasm.updateAdmin(aliceWallet, contractAddress, bobAddress, { gas: gas, fee: fee })];
190
- case 1:
191
- result = _a.sent();
192
- (0, chai_1.expect)(result.code).to.be.equal(0);
193
- return [2 /*return*/];
194
- }
195
- });
196
- }); });
197
- it('CosmWasm ClearAdmin', function () { return __awaiter(void 0, void 0, void 0, function () {
198
- var gas, fee, result;
199
- return __generator(this, function (_a) {
200
- switch (_a.label) {
201
- case 0:
202
- gas = 3000000;
203
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
204
- return [4 /*yield*/, firma.CosmWasm.clearAdmin(bobWallet, contractAddress, { gas: gas, fee: fee })];
205
- case 1:
206
- result = _a.sent();
207
- (0, chai_1.expect)(result.code).to.be.equal(0);
208
- return [2 /*return*/];
209
- }
210
- });
211
- }); });
212
- // This test requires specific conditions, so it is skipped by default
213
- it.skip('CosmWasm MigrateContract', function () { return __awaiter(void 0, void 0, void 0, function () {
214
- var gas, fee, testData, result;
215
- return __generator(this, function (_a) {
216
- switch (_a.label) {
217
- case 0:
218
- gas = 3000000;
219
- fee = FirmaUtil_1.FirmaUtil.getUFCTFromFCT(0.3);
220
- testData = JSON.stringify({ "purchase_price": { "amount": "1000", "denom": "ufct" }, "transfer_price": { "amount": "9990", "denom": "ufct" } });
221
- return [4 /*yield*/, firma.CosmWasm.migrateContract(aliceWallet, contractAddress, codeId, testData, { gas: gas, fee: fee })];
222
- case 1:
223
- result = _a.sent();
224
- (0, chai_1.expect)(result.code).to.be.equal(0);
225
- return [2 /*return*/];
226
- }
227
- });
228
- }); });
229
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,275 +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 FirmaSDK_1 = require("../sdk/FirmaSDK");
52
- var config_test_1 = require("./config_test");
53
- describe('[26. cosmwasm query Test]', function () {
54
- var firma;
55
- beforeEach(function () {
56
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
57
- });
58
- var contractAddress = "";
59
- var codeId = "";
60
- it('CosmWasm getCodeList', function () { return __awaiter(void 0, void 0, void 0, function () {
61
- var result, codeInfo;
62
- return __generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0: return [4 /*yield*/, firma.CosmWasm.getCodeList()];
65
- case 1:
66
- result = _a.sent();
67
- (0, chai_1.expect)(result.length).to.be.greaterThan(0);
68
- codeId = result[0].code_id;
69
- codeInfo = result[0];
70
- (0, chai_1.expect)(codeInfo).to.have.property('code_id');
71
- (0, chai_1.expect)(codeInfo).to.have.property('creator');
72
- (0, chai_1.expect)(codeInfo).to.have.property('data_hash');
73
- return [2 /*return*/];
74
- }
75
- });
76
- }); });
77
- it('CosmWasm getCodeData', function () { return __awaiter(void 0, void 0, void 0, function () {
78
- var result, codeInfo;
79
- return __generator(this, function (_a) {
80
- switch (_a.label) {
81
- case 0: return [4 /*yield*/, firma.CosmWasm.getCodeData(codeId)];
82
- case 1:
83
- result = _a.sent();
84
- (0, chai_1.expect)(result).to.not.be.null;
85
- (0, chai_1.expect)(result).to.have.property('code_info');
86
- (0, chai_1.expect)(result).to.have.property('data');
87
- codeInfo = result.code_info;
88
- (0, chai_1.expect)(codeInfo).to.have.property('code_id', codeId);
89
- (0, chai_1.expect)(codeInfo).to.have.property('creator');
90
- (0, chai_1.expect)(codeInfo).to.have.property('data_hash');
91
- (0, chai_1.expect)(result.data).to.be.a('string');
92
- return [2 /*return*/];
93
- }
94
- });
95
- }); });
96
- it('CosmWasm getContractListFromCodeId', function () { return __awaiter(void 0, void 0, void 0, function () {
97
- var result;
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0: return [4 /*yield*/, firma.CosmWasm.getContractListFromCodeId(codeId)];
101
- case 1:
102
- result = _a.sent();
103
- (0, chai_1.expect)(result).to.not.be.null;
104
- (0, chai_1.expect)(result).to.have.property('dataList');
105
- (0, chai_1.expect)(result).to.have.property('pagination');
106
- (0, chai_1.expect)(result.dataList).to.be.an('array');
107
- (0, chai_1.expect)(result.dataList.length).to.be.greaterThan(0);
108
- (0, chai_1.expect)(result.dataList[0]).to.be.a('string');
109
- (0, chai_1.expect)(result.pagination).to.have.property('next_key');
110
- (0, chai_1.expect)(result.pagination).to.have.property('total');
111
- contractAddress = result.dataList[0];
112
- return [2 /*return*/];
113
- }
114
- });
115
- }); });
116
- it('CosmWasm getPinnedCodeList', function () { return __awaiter(void 0, void 0, void 0, function () {
117
- var codeList;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0: return [4 /*yield*/, firma.CosmWasm.getPinnedCodeList()];
121
- case 1:
122
- codeList = _a.sent();
123
- (0, chai_1.expect)(codeList).to.be.an('array');
124
- return [2 /*return*/];
125
- }
126
- });
127
- }); });
128
- // ContractInfo gets the contract meta data
129
- it('CosmWasm getContractInfo', function () { return __awaiter(void 0, void 0, void 0, function () {
130
- var result, contractInfo;
131
- return __generator(this, function (_a) {
132
- switch (_a.label) {
133
- case 0: return [4 /*yield*/, firma.CosmWasm.getContractInfo(contractAddress)];
134
- case 1:
135
- result = _a.sent();
136
- (0, chai_1.expect)(result).to.not.be.null;
137
- (0, chai_1.expect)(result).to.have.property('address', contractAddress);
138
- (0, chai_1.expect)(result).to.have.property('contract_info');
139
- contractInfo = result.contract_info;
140
- (0, chai_1.expect)(contractInfo).to.have.property('code_id');
141
- (0, chai_1.expect)(contractInfo).to.have.property('creator');
142
- (0, chai_1.expect)(contractInfo).to.have.property('admin');
143
- (0, chai_1.expect)(contractInfo).to.have.property('label');
144
- (0, chai_1.expect)(contractInfo).to.have.property('created');
145
- (0, chai_1.expect)(contractInfo).to.have.property('ibc_port_id');
146
- (0, chai_1.expect)(contractInfo).to.have.property('extension');
147
- (0, chai_1.expect)(contractInfo.created).to.have.property('block_height');
148
- (0, chai_1.expect)(contractInfo.created).to.have.property('tx_index');
149
- return [2 /*return*/];
150
- }
151
- });
152
- }); });
153
- it('CosmWasm getContractHistory', function () { return __awaiter(void 0, void 0, void 0, function () {
154
- var result, history;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0: return [4 /*yield*/, firma.CosmWasm.getContractHistory(contractAddress)];
158
- case 1:
159
- result = _a.sent();
160
- (0, chai_1.expect)(result).to.be.an('array');
161
- (0, chai_1.expect)(result.length).to.be.greaterThan(0);
162
- history = result[0];
163
- (0, chai_1.expect)(history.code_id).to.be.equal(codeId);
164
- return [2 /*return*/];
165
- }
166
- });
167
- }); });
168
- // AllContractState gets all raw store data for a single contract
169
- it('CosmWasm getContractState', function () { return __awaiter(void 0, void 0, void 0, function () {
170
- var result, model;
171
- return __generator(this, function (_a) {
172
- switch (_a.label) {
173
- case 0: return [4 /*yield*/, firma.CosmWasm.getContractState(contractAddress)];
174
- case 1:
175
- result = _a.sent();
176
- (0, chai_1.expect)(result).to.be.an('array');
177
- (0, chai_1.expect)(result.length).to.be.greaterThan(0);
178
- model = result[0];
179
- (0, chai_1.expect)(model).to.have.property('key');
180
- (0, chai_1.expect)(model).to.have.property('value');
181
- return [2 /*return*/];
182
- }
183
- });
184
- }); });
185
- it('CosmWasm getContractRawQueryData', function () { return __awaiter(void 0, void 0, void 0, function () {
186
- var stateResult, firstKey, result, error_1;
187
- return __generator(this, function (_a) {
188
- switch (_a.label) {
189
- case 0:
190
- _a.trys.push([0, 3, , 4]);
191
- return [4 /*yield*/, firma.CosmWasm.getContractState(contractAddress)];
192
- case 1:
193
- stateResult = _a.sent();
194
- if (!stateResult || stateResult.length === 0) {
195
- return [2 /*return*/];
196
- }
197
- firstKey = stateResult[0].key;
198
- return [4 /*yield*/, firma.CosmWasm.getContractRawQueryData(contractAddress, firstKey)];
199
- case 2:
200
- result = _a.sent();
201
- (0, chai_1.expect)(result).to.be.a('string');
202
- (0, chai_1.expect)(result.length).to.be.greaterThan(0);
203
- (0, chai_1.expect)(result).to.match(/^[0-9A-Fa-f]*$/);
204
- return [3 /*break*/, 4];
205
- case 3:
206
- error_1 = _a.sent();
207
- return [3 /*break*/, 4];
208
- case 4: return [2 /*return*/];
209
- }
210
- });
211
- }); });
212
- it('CosmWasm getContractSmartQueryData', function () { return __awaiter(void 0, void 0, void 0, function () {
213
- var queries, successfulQuery, result, queries_1, queries_1_1, query, error_2, e_1_1, parsedResult;
214
- var e_1, _a;
215
- return __generator(this, function (_b) {
216
- switch (_b.label) {
217
- case 0:
218
- queries = [
219
- '{"config":{}}',
220
- ];
221
- successfulQuery = null;
222
- result = null;
223
- _b.label = 1;
224
- case 1:
225
- _b.trys.push([1, 8, 9, 10]);
226
- queries_1 = __values(queries), queries_1_1 = queries_1.next();
227
- _b.label = 2;
228
- case 2:
229
- if (!!queries_1_1.done) return [3 /*break*/, 7];
230
- query = queries_1_1.value;
231
- _b.label = 3;
232
- case 3:
233
- _b.trys.push([3, 5, , 6]);
234
- return [4 /*yield*/, firma.CosmWasm.getContractSmartQueryData(contractAddress, query)];
235
- case 4:
236
- result = _b.sent();
237
- successfulQuery = query;
238
- return [3 /*break*/, 7];
239
- case 5:
240
- error_2 = _b.sent();
241
- return [3 /*break*/, 6];
242
- case 6:
243
- queries_1_1 = queries_1.next();
244
- return [3 /*break*/, 2];
245
- case 7: return [3 /*break*/, 10];
246
- case 8:
247
- e_1_1 = _b.sent();
248
- e_1 = { error: e_1_1 };
249
- return [3 /*break*/, 10];
250
- case 9:
251
- try {
252
- if (queries_1_1 && !queries_1_1.done && (_a = queries_1.return)) _a.call(queries_1);
253
- }
254
- finally { if (e_1) throw e_1.error; }
255
- return [7 /*endfinally*/];
256
- case 10:
257
- (0, chai_1.expect)(successfulQuery).to.not.be.null;
258
- (0, chai_1.expect)(result).to.not.be.null;
259
- if (result) {
260
- (0, chai_1.expect)(result).to.be.a('string');
261
- (0, chai_1.expect)(result.length).to.be.greaterThan(0);
262
- parsedResult = JSON.parse(result);
263
- (0, chai_1.expect)(parsedResult).to.be.an('object');
264
- if (successfulQuery === '{"token_info":{}}') {
265
- (0, chai_1.expect)(parsedResult).to.have.property('name');
266
- (0, chai_1.expect)(parsedResult).to.have.property('symbol');
267
- (0, chai_1.expect)(parsedResult).to.have.property('decimals');
268
- (0, chai_1.expect)(parsedResult).to.have.property('total_supply');
269
- }
270
- }
271
- return [2 /*return*/];
272
- }
273
- });
274
- }); });
275
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,162 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var chai_1 = require("chai");
40
- var FirmaSDK_1 = require("../sdk/FirmaSDK");
41
- var FirmaUtil_1 = require("../sdk/FirmaUtil");
42
- var config_test_1 = require("./config_test");
43
- var bank_1 = require("../sdk/firmachain/bank");
44
- describe('[27. protobuf arbitrary sign]', function () {
45
- var firma;
46
- var aliceWallet;
47
- var bobWallet;
48
- var aliceAddress;
49
- var bobAddress;
50
- beforeEach(function () {
51
- return __awaiter(this, void 0, void 0, function () {
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
56
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
57
- case 1:
58
- aliceWallet = _a.sent();
59
- return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.bobMnemonic)];
60
- case 2:
61
- bobWallet = _a.sent();
62
- return [4 /*yield*/, aliceWallet.getAddress()];
63
- case 3:
64
- aliceAddress = _a.sent();
65
- return [4 /*yield*/, bobWallet.getAddress()];
66
- case 4:
67
- bobAddress = _a.sent();
68
- return [2 /*return*/];
69
- }
70
- });
71
- });
72
- });
73
- it('protobuf arbitrary sign & verify basic test', function () { return __awaiter(void 0, void 0, void 0, function () {
74
- var testMsg, signatureResult, jsonString, finalData, isMatch;
75
- return __generator(this, function (_a) {
76
- switch (_a.label) {
77
- case 0:
78
- testMsg = "be14202e-46dc-4d38-924c-65db209ea2fb";
79
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.experimentalAdr36Sign(aliceWallet, testMsg)];
80
- case 1:
81
- signatureResult = _a.sent();
82
- jsonString = JSON.stringify(signatureResult);
83
- finalData = JSON.parse(jsonString);
84
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.experimentalAdr36Verify(finalData, testMsg)];
85
- case 2:
86
- isMatch = _a.sent();
87
- (0, chai_1.expect)(isMatch).to.be.equal(true);
88
- return [2 /*return*/];
89
- }
90
- });
91
- }); });
92
- it('direct sign & verify basic test', function () { return __awaiter(void 0, void 0, void 0, function () {
93
- var amountFCT, alicePubkey, sendAmount, msgSend, stringSignDoc, signDoc, commonTxClient, extTxRaw, valid;
94
- return __generator(this, function (_a) {
95
- switch (_a.label) {
96
- case 0:
97
- amountFCT = 9;
98
- return [4 /*yield*/, aliceWallet.getPubKey()];
99
- case 1:
100
- alicePubkey = _a.sent();
101
- sendAmount = { denom: firma.Config.denom, amount: FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amountFCT) };
102
- msgSend = bank_1.BankTxClient.msgSend({
103
- fromAddress: aliceAddress,
104
- toAddress: bobAddress,
105
- amount: [sendAmount]
106
- });
107
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.makeSignDocWithStringify(aliceAddress, alicePubkey, [msgSend])];
108
- case 2:
109
- stringSignDoc = _a.sent();
110
- signDoc = FirmaUtil_1.FirmaUtil.parseSignDocValues(stringSignDoc);
111
- commonTxClient = FirmaUtil_1.FirmaUtil.getCommonTxClient(aliceWallet);
112
- return [4 /*yield*/, commonTxClient.signDirectForSignDoc(aliceAddress, signDoc)];
113
- case 3:
114
- extTxRaw = _a.sent();
115
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.verifyDirectSignature(aliceAddress, extTxRaw.signature, signDoc)];
116
- case 4:
117
- valid = _a.sent();
118
- (0, chai_1.expect)(valid).to.be.equal(true);
119
- return [2 /*return*/];
120
- }
121
- });
122
- }); });
123
- it('direct sign & verify & send basic test', function () { return __awaiter(void 0, void 0, void 0, function () {
124
- var amountFCT, alicePubkey, sendAmount, msgSend, signDoc, stringSignDoc, newSignDoc, commonTxClient, extTxRaw, valid, result;
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- amountFCT = 9;
129
- return [4 /*yield*/, aliceWallet.getPubKey()];
130
- case 1:
131
- alicePubkey = _a.sent();
132
- sendAmount = { denom: firma.Config.denom, amount: FirmaUtil_1.FirmaUtil.getUFCTStringFromFCT(amountFCT) };
133
- msgSend = bank_1.BankTxClient.msgSend({
134
- fromAddress: aliceAddress,
135
- toAddress: bobAddress,
136
- amount: [sendAmount]
137
- });
138
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.makeSignDoc(aliceAddress, alicePubkey, [msgSend])];
139
- case 2:
140
- signDoc = _a.sent();
141
- stringSignDoc = FirmaUtil_1.FirmaUtil.stringifySignDocValues(signDoc);
142
- newSignDoc = FirmaUtil_1.FirmaUtil.parseSignDocValues(stringSignDoc);
143
- commonTxClient = FirmaUtil_1.FirmaUtil.getCommonTxClient(aliceWallet);
144
- return [4 /*yield*/, commonTxClient.signDirectForSignDoc(aliceAddress, newSignDoc)];
145
- case 3:
146
- extTxRaw = _a.sent();
147
- return [4 /*yield*/, FirmaUtil_1.FirmaUtil.verifyDirectSignature(aliceAddress, extTxRaw.signature, newSignDoc)];
148
- case 4:
149
- valid = _a.sent();
150
- if (!valid) return [3 /*break*/, 6];
151
- return [4 /*yield*/, commonTxClient.broadcast(extTxRaw.txRaw)];
152
- case 5:
153
- result = _a.sent();
154
- (0, chai_1.expect)(result.code).to.be.equal(0);
155
- _a.label = 6;
156
- case 6:
157
- (0, chai_1.expect)(valid).to.be.equal(true);
158
- return [2 /*return*/];
159
- }
160
- });
161
- }); });
162
- });