@firmachain/firma-js 0.2.11 → 0.2.15

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.
@@ -0,0 +1,416 @@
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
+ exports.TokenService = void 0;
40
+ var token_1 = require("./firmachain/token");
41
+ var FirmaUtil_1 = require("./FirmaUtil");
42
+ var TokenService = /** @class */ (function () {
43
+ function TokenService(config) {
44
+ this.config = config;
45
+ }
46
+ TokenService.prototype.getGasEstimationCreateToken = function (wallet, tokenName, tokenSymbol, tokenURI, totalSupply, decimal, isMintable, isBurnable, txMisc) {
47
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ var newTotalSupply, txRaw, error_1;
50
+ return __generator(this, function (_a) {
51
+ switch (_a.label) {
52
+ case 0:
53
+ _a.trys.push([0, 3, , 4]);
54
+ newTotalSupply = FirmaUtil_1.FirmaUtil.getUTokenFromToken(totalSupply, decimal);
55
+ return [4 /*yield*/, this.getSignedTxCreateToken(wallet, tokenName, tokenSymbol, tokenURI, newTotalSupply, decimal, isMintable, isBurnable, txMisc)];
56
+ case 1:
57
+ txRaw = _a.sent();
58
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.estimateGas(txRaw)];
59
+ case 2: return [2 /*return*/, _a.sent()];
60
+ case 3:
61
+ error_1 = _a.sent();
62
+ FirmaUtil_1.FirmaUtil.printLog(error_1);
63
+ throw error_1;
64
+ case 4: return [2 /*return*/];
65
+ }
66
+ });
67
+ });
68
+ };
69
+ TokenService.prototype.getGasEstimationMint = function (wallet, tokenID, amount, decimal, toAddress, txMisc) {
70
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ var newAmount, txRaw, error_2;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ _a.trys.push([0, 3, , 4]);
77
+ newAmount = FirmaUtil_1.FirmaUtil.getUTokenFromToken(amount, decimal);
78
+ return [4 /*yield*/, this.getSignedTxMint(wallet, tokenID, amount, toAddress, txMisc)];
79
+ case 1:
80
+ txRaw = _a.sent();
81
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.estimateGas(txRaw)];
82
+ case 2: return [2 /*return*/, _a.sent()];
83
+ case 3:
84
+ error_2 = _a.sent();
85
+ FirmaUtil_1.FirmaUtil.printLog(error_2);
86
+ throw error_2;
87
+ case 4: return [2 /*return*/];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ TokenService.prototype.getGasEstimationBurn = function (wallet, tokenID, amount, decimal, txMisc) {
93
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ var newAmount, txRaw, error_3;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ _a.trys.push([0, 3, , 4]);
100
+ newAmount = FirmaUtil_1.FirmaUtil.getUTokenFromToken(amount, decimal);
101
+ return [4 /*yield*/, this.getSignedTxBurn(wallet, tokenID, newAmount, txMisc)];
102
+ case 1:
103
+ txRaw = _a.sent();
104
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.estimateGas(txRaw)];
105
+ case 2: return [2 /*return*/, _a.sent()];
106
+ case 3:
107
+ error_3 = _a.sent();
108
+ FirmaUtil_1.FirmaUtil.printLog(error_3);
109
+ throw error_3;
110
+ case 4: return [2 /*return*/];
111
+ }
112
+ });
113
+ });
114
+ };
115
+ TokenService.prototype.getGasEstimationUpdateTokenURI = function (wallet, tokenID, tokenURI, txMisc) {
116
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
117
+ return __awaiter(this, void 0, void 0, function () {
118
+ var txRaw, error_4;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ _a.trys.push([0, 3, , 4]);
123
+ return [4 /*yield*/, this.getSignedTxUpdateTokenURI(wallet, tokenID, tokenURI, txMisc)];
124
+ case 1:
125
+ txRaw = _a.sent();
126
+ return [4 /*yield*/, FirmaUtil_1.FirmaUtil.estimateGas(txRaw)];
127
+ case 2: return [2 /*return*/, _a.sent()];
128
+ case 3:
129
+ error_4 = _a.sent();
130
+ FirmaUtil_1.FirmaUtil.printLog(error_4);
131
+ throw error_4;
132
+ case 4: return [2 /*return*/];
133
+ }
134
+ });
135
+ });
136
+ };
137
+ TokenService.prototype.getSignedTxUpdateTokenURI = function (wallet, tokenID, tokenURI, txMisc) {
138
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
139
+ return __awaiter(this, void 0, void 0, function () {
140
+ var address, txClient, message, error_5;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0:
144
+ _a.trys.push([0, 3, , 4]);
145
+ return [4 /*yield*/, wallet.getAddress()];
146
+ case 1:
147
+ address = _a.sent();
148
+ txClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
149
+ message = txClient.msgUpdateTokenURI({
150
+ owner: address,
151
+ tokenID: tokenID,
152
+ tokenURI: tokenURI
153
+ });
154
+ return [4 /*yield*/, txClient.sign([message], token_1.getSignAndBroadcastOption(this.config.denom, txMisc))];
155
+ case 2: return [2 /*return*/, _a.sent()];
156
+ case 3:
157
+ error_5 = _a.sent();
158
+ FirmaUtil_1.FirmaUtil.printLog(error_5);
159
+ throw error_5;
160
+ case 4: return [2 /*return*/];
161
+ }
162
+ });
163
+ });
164
+ };
165
+ TokenService.prototype.getSignedTxBurn = function (wallet, tokenID, amount, txMisc) {
166
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
167
+ return __awaiter(this, void 0, void 0, function () {
168
+ var address, txClient, message, error_6;
169
+ return __generator(this, function (_a) {
170
+ switch (_a.label) {
171
+ case 0:
172
+ _a.trys.push([0, 3, , 4]);
173
+ return [4 /*yield*/, wallet.getAddress()];
174
+ case 1:
175
+ address = _a.sent();
176
+ txClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
177
+ message = txClient.msgBurn({
178
+ owner: address,
179
+ tokenID: tokenID,
180
+ amount: amount
181
+ });
182
+ return [4 /*yield*/, txClient.sign([message], token_1.getSignAndBroadcastOption(this.config.denom, txMisc))];
183
+ case 2: return [2 /*return*/, _a.sent()];
184
+ case 3:
185
+ error_6 = _a.sent();
186
+ FirmaUtil_1.FirmaUtil.printLog(error_6);
187
+ throw error_6;
188
+ case 4: return [2 /*return*/];
189
+ }
190
+ });
191
+ });
192
+ };
193
+ TokenService.prototype.getSignedTxMint = function (wallet, tokenID, amount, toAddress, txMisc) {
194
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
195
+ return __awaiter(this, void 0, void 0, function () {
196
+ var address, txClient, message, error_7;
197
+ return __generator(this, function (_a) {
198
+ switch (_a.label) {
199
+ case 0:
200
+ _a.trys.push([0, 3, , 4]);
201
+ return [4 /*yield*/, wallet.getAddress()];
202
+ case 1:
203
+ address = _a.sent();
204
+ txClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
205
+ message = txClient.msgMint({
206
+ owner: address,
207
+ tokenID: tokenID,
208
+ amount: amount,
209
+ toAddress: toAddress
210
+ });
211
+ return [4 /*yield*/, txClient.sign([message], token_1.getSignAndBroadcastOption(this.config.denom, txMisc))];
212
+ case 2: return [2 /*return*/, _a.sent()];
213
+ case 3:
214
+ error_7 = _a.sent();
215
+ FirmaUtil_1.FirmaUtil.printLog(error_7);
216
+ throw error_7;
217
+ case 4: return [2 /*return*/];
218
+ }
219
+ });
220
+ });
221
+ };
222
+ TokenService.prototype.getSignedTxCreateToken = function (wallet, tokenName, tokenSymbol, tokenURI, totalSupply, decimal, isMintable, isBurnable, txMisc) {
223
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
224
+ return __awaiter(this, void 0, void 0, function () {
225
+ var address, txClient, message, error_8;
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0:
229
+ _a.trys.push([0, 3, , 4]);
230
+ return [4 /*yield*/, wallet.getAddress()];
231
+ case 1:
232
+ address = _a.sent();
233
+ txClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
234
+ message = txClient.msgCreateToken({
235
+ owner: address,
236
+ name: tokenName,
237
+ symbol: tokenSymbol,
238
+ tokenURI: tokenURI,
239
+ totalSupply: totalSupply,
240
+ decimal: decimal,
241
+ mintable: isMintable,
242
+ burnable: isBurnable
243
+ });
244
+ return [4 /*yield*/, txClient.sign([message], token_1.getSignAndBroadcastOption(this.config.denom, txMisc))];
245
+ case 2: return [2 /*return*/, _a.sent()];
246
+ case 3:
247
+ error_8 = _a.sent();
248
+ FirmaUtil_1.FirmaUtil.printLog(error_8);
249
+ throw error_8;
250
+ case 4: return [2 /*return*/];
251
+ }
252
+ });
253
+ });
254
+ };
255
+ //./firmachaind tx token mint ukai 1000000 firma1jmg3kwy5hntx66nl93dyk2d92943394qsf6gcf --from alice --fees 2000ufct --chain-id imperium-2
256
+ TokenService.prototype.createToken = function (wallet, tokenName, tokenSymbol, tokenURI, totalSupply, decimal, isMintable, isBurnable, txMisc) {
257
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
258
+ return __awaiter(this, void 0, void 0, function () {
259
+ var newTotalSupply, txRaw, nftTxClient, error_9;
260
+ return __generator(this, function (_a) {
261
+ switch (_a.label) {
262
+ case 0:
263
+ _a.trys.push([0, 3, , 4]);
264
+ newTotalSupply = FirmaUtil_1.FirmaUtil.getUTokenFromToken(totalSupply, decimal);
265
+ return [4 /*yield*/, this.getSignedTxCreateToken(wallet, tokenName, tokenSymbol, tokenURI, newTotalSupply, decimal, isMintable, isBurnable, txMisc)];
266
+ case 1:
267
+ txRaw = _a.sent();
268
+ nftTxClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
269
+ return [4 /*yield*/, nftTxClient.broadcast(txRaw)];
270
+ case 2: return [2 /*return*/, _a.sent()];
271
+ case 3:
272
+ error_9 = _a.sent();
273
+ FirmaUtil_1.FirmaUtil.printLog(error_9);
274
+ throw error_9;
275
+ case 4: return [2 /*return*/];
276
+ }
277
+ });
278
+ });
279
+ };
280
+ TokenService.prototype.mint = function (wallet, tokenID, amount, decimal, toAddress, txMisc) {
281
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
282
+ return __awaiter(this, void 0, void 0, function () {
283
+ var newAmount, txRaw, nftTxClient, error_10;
284
+ return __generator(this, function (_a) {
285
+ switch (_a.label) {
286
+ case 0:
287
+ _a.trys.push([0, 3, , 4]);
288
+ newAmount = FirmaUtil_1.FirmaUtil.getUTokenFromToken(amount, decimal);
289
+ return [4 /*yield*/, this.getSignedTxMint(wallet, tokenID, newAmount, toAddress, txMisc)];
290
+ case 1:
291
+ txRaw = _a.sent();
292
+ nftTxClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
293
+ return [4 /*yield*/, nftTxClient.broadcast(txRaw)];
294
+ case 2: return [2 /*return*/, _a.sent()];
295
+ case 3:
296
+ error_10 = _a.sent();
297
+ FirmaUtil_1.FirmaUtil.printLog(error_10);
298
+ throw error_10;
299
+ case 4: return [2 /*return*/];
300
+ }
301
+ });
302
+ });
303
+ };
304
+ TokenService.prototype.burn = function (wallet, tokenID, amount, decimal, txMisc) {
305
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
306
+ return __awaiter(this, void 0, void 0, function () {
307
+ var newAmount, txRaw, nftTxClient, error_11;
308
+ return __generator(this, function (_a) {
309
+ switch (_a.label) {
310
+ case 0:
311
+ _a.trys.push([0, 3, , 4]);
312
+ newAmount = FirmaUtil_1.FirmaUtil.getUTokenFromToken(amount, decimal);
313
+ return [4 /*yield*/, this.getSignedTxBurn(wallet, tokenID, newAmount, txMisc)];
314
+ case 1:
315
+ txRaw = _a.sent();
316
+ nftTxClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
317
+ return [4 /*yield*/, nftTxClient.broadcast(txRaw)];
318
+ case 2: return [2 /*return*/, _a.sent()];
319
+ case 3:
320
+ error_11 = _a.sent();
321
+ FirmaUtil_1.FirmaUtil.printLog(error_11);
322
+ throw error_11;
323
+ case 4: return [2 /*return*/];
324
+ }
325
+ });
326
+ });
327
+ };
328
+ TokenService.prototype.updateTokenURI = function (wallet, tokenID, tokenURI, txMisc) {
329
+ if (txMisc === void 0) { txMisc = token_1.DefaultTxMisc; }
330
+ return __awaiter(this, void 0, void 0, function () {
331
+ var txRaw, nftTxClient, error_12;
332
+ return __generator(this, function (_a) {
333
+ switch (_a.label) {
334
+ case 0:
335
+ _a.trys.push([0, 3, , 4]);
336
+ return [4 /*yield*/, this.getSignedTxUpdateTokenURI(wallet, tokenID, tokenURI, txMisc)];
337
+ case 1:
338
+ txRaw = _a.sent();
339
+ nftTxClient = new token_1.TokenTxClient(wallet.getRawWallet(), this.config.rpcAddress);
340
+ return [4 /*yield*/, nftTxClient.broadcast(txRaw)];
341
+ case 2: return [2 /*return*/, _a.sent()];
342
+ case 3:
343
+ error_12 = _a.sent();
344
+ FirmaUtil_1.FirmaUtil.printLog(error_12);
345
+ throw error_12;
346
+ case 4: return [2 /*return*/];
347
+ }
348
+ });
349
+ });
350
+ };
351
+ // query
352
+ TokenService.prototype.getGetTokenDataAll = function (paginationKey) {
353
+ if (paginationKey === void 0) { paginationKey = ""; }
354
+ return __awaiter(this, void 0, void 0, function () {
355
+ var queryClient, error_13;
356
+ return __generator(this, function (_a) {
357
+ switch (_a.label) {
358
+ case 0:
359
+ _a.trys.push([0, 2, , 3]);
360
+ queryClient = new token_1.TokenQueryClient(this.config.restApiAddress);
361
+ return [4 /*yield*/, queryClient.queryTokenDataAll(paginationKey)];
362
+ case 1: return [2 /*return*/, _a.sent()];
363
+ case 2:
364
+ error_13 = _a.sent();
365
+ FirmaUtil_1.FirmaUtil.printLog(error_13);
366
+ throw error_13;
367
+ case 3: return [2 /*return*/];
368
+ }
369
+ });
370
+ });
371
+ };
372
+ TokenService.prototype.getTokenData = function (tokenID) {
373
+ return __awaiter(this, void 0, void 0, function () {
374
+ var queryClient, tokenData, error_14;
375
+ return __generator(this, function (_a) {
376
+ switch (_a.label) {
377
+ case 0:
378
+ _a.trys.push([0, 2, , 3]);
379
+ queryClient = new token_1.TokenQueryClient(this.config.restApiAddress);
380
+ return [4 /*yield*/, queryClient.queryTokenData(tokenID)];
381
+ case 1:
382
+ tokenData = _a.sent();
383
+ return [2 /*return*/, tokenData];
384
+ case 2:
385
+ error_14 = _a.sent();
386
+ FirmaUtil_1.FirmaUtil.printLog(error_14);
387
+ throw error_14;
388
+ case 3: return [2 /*return*/];
389
+ }
390
+ });
391
+ });
392
+ };
393
+ TokenService.prototype.getTokenDataListFromOwner = function (ownerAddress) {
394
+ return __awaiter(this, void 0, void 0, function () {
395
+ var queryClient, tokenData, error_15;
396
+ return __generator(this, function (_a) {
397
+ switch (_a.label) {
398
+ case 0:
399
+ _a.trys.push([0, 2, , 3]);
400
+ queryClient = new token_1.TokenQueryClient(this.config.restApiAddress);
401
+ return [4 /*yield*/, queryClient.queryTokenDataFromOwner(ownerAddress)];
402
+ case 1:
403
+ tokenData = _a.sent();
404
+ return [2 /*return*/, tokenData];
405
+ case 2:
406
+ error_15 = _a.sent();
407
+ FirmaUtil_1.FirmaUtil.printLog(error_15);
408
+ throw error_15;
409
+ case 3: return [2 /*return*/];
410
+ }
411
+ });
412
+ });
413
+ };
414
+ return TokenService;
415
+ }());
416
+ exports.TokenService = TokenService;
@@ -2,7 +2,13 @@ import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
2
2
  import { FirmaConfig } from "./FirmaConfig";
3
3
  export declare class FirmaUtil {
4
4
  static config: FirmaConfig;
5
+ static readonly FctDecimal: number;
5
6
  constructor(firmaConfig: FirmaConfig);
7
+ static getUTokenStringFromTokenStr(tokenAmount: string, decimal: number): string;
8
+ static getTokenStringFromUTokenStr(uTokenAmount: string, decimal: number): string;
9
+ static getUTokenStringFromToken(tokenAmount: number, decimal: number): string;
10
+ static getUTokenFromToken(tokenAmount: number, decimal: number): number;
11
+ static getTokenStringFromUToken(uTokenAmount: number, decimal: number): string;
6
12
  static getUFCTStringFromFCTStr(fctAmount: string): string;
7
13
  static getFCTStringFromUFCTStr(uFctAmount: string): string;
8
14
  static getUFCTStringFromFCT(fctAmount: number): string;
@@ -48,22 +48,42 @@ var FirmaUtil = /** @class */ (function () {
48
48
  function FirmaUtil(firmaConfig) {
49
49
  FirmaUtil.config = firmaConfig;
50
50
  }
51
- FirmaUtil.getUFCTStringFromFCTStr = function (fctAmount) {
52
- var fct = Number.parseFloat(fctAmount);
53
- var big = fct * 1000000;
51
+ FirmaUtil.getUTokenStringFromTokenStr = function (tokenAmount, decimal) {
52
+ var fct = Number.parseFloat(tokenAmount);
53
+ var decimalMutiplyer = Math.pow(10, decimal);
54
+ var big = fct * decimalMutiplyer;
54
55
  return big.toString();
55
56
  };
57
+ FirmaUtil.getTokenStringFromUTokenStr = function (uTokenAmount, decimal) {
58
+ var ufct = Number.parseInt(uTokenAmount);
59
+ var decimalMutiplyer = Math.pow(10, decimal);
60
+ return (ufct / decimalMutiplyer).toString();
61
+ };
62
+ FirmaUtil.getUTokenStringFromToken = function (tokenAmount, decimal) {
63
+ var decimalMutiplyer = Math.pow(10, decimal);
64
+ var big = tokenAmount * decimalMutiplyer;
65
+ return big.toString();
66
+ };
67
+ FirmaUtil.getUTokenFromToken = function (tokenAmount, decimal) {
68
+ var decimalMutiplyer = Math.pow(10, decimal);
69
+ var big = tokenAmount * decimalMutiplyer;
70
+ return big;
71
+ };
72
+ FirmaUtil.getTokenStringFromUToken = function (uTokenAmount, decimal) {
73
+ var decimalMutiplyer = Math.pow(10, decimal);
74
+ return (uTokenAmount / decimalMutiplyer).toString();
75
+ };
76
+ FirmaUtil.getUFCTStringFromFCTStr = function (fctAmount) {
77
+ return this.getUTokenStringFromTokenStr(fctAmount, this.FctDecimal);
78
+ };
56
79
  FirmaUtil.getFCTStringFromUFCTStr = function (uFctAmount) {
57
- var ufct = Number.parseInt(uFctAmount);
58
- return (ufct / 1000000).toString();
80
+ return this.getTokenStringFromUTokenStr(uFctAmount, this.FctDecimal);
59
81
  };
60
82
  FirmaUtil.getUFCTStringFromFCT = function (fctAmount) {
61
- var big = fctAmount * 1000000;
62
- return big.toString();
83
+ return this.getUTokenStringFromToken(fctAmount, this.FctDecimal);
63
84
  };
64
85
  FirmaUtil.getFCTStringFromUFCT = function (uFctAmount) {
65
- var number = uFctAmount;
66
- return (number / 1000000).toString();
86
+ return this.getTokenStringFromUToken(uFctAmount, this.FctDecimal);
67
87
  };
68
88
  FirmaUtil.getFileHash = function (filePath) {
69
89
  return __awaiter(this, void 0, void 0, function () {
@@ -125,6 +145,7 @@ var FirmaUtil = /** @class */ (function () {
125
145
  return;
126
146
  console.log("[FirmaSDK] " + log);
127
147
  };
148
+ FirmaUtil.FctDecimal = 6;
128
149
  return FirmaUtil;
129
150
  }());
130
151
  exports.FirmaUtil = FirmaUtil;
@@ -1,6 +1,12 @@
1
+ export interface Token {
2
+ denom: string;
3
+ amount: string;
4
+ }
1
5
  export declare class BankQueryClient {
2
6
  private readonly axios;
3
7
  constructor(baseUrl: string);
4
8
  querySupplyOf(denom: string): Promise<string>;
5
- queryBalance(address: string, denom: string): Promise<string>;
9
+ queryTokenBalance(address: string, denom: string): Promise<Token>;
10
+ queryBalanceList(address: string): Promise<Token[]>;
11
+ queryBalance(address: string, denom: string): Promise<Token>;
6
12
  }
@@ -66,17 +66,47 @@ var BankQueryClient = /** @class */ (function () {
66
66
  });
67
67
  });
68
68
  };
69
+ BankQueryClient.prototype.queryTokenBalance = function (address, denom) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var path, result;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ path = "/cosmos/bank/v1beta1/balances/" + address + "/by_denom?denom=" + denom;
76
+ return [4 /*yield*/, this.axios.get(path)];
77
+ case 1:
78
+ result = _a.sent();
79
+ return [2 /*return*/, result.data.balance];
80
+ }
81
+ });
82
+ });
83
+ };
84
+ BankQueryClient.prototype.queryBalanceList = function (address) {
85
+ return __awaiter(this, void 0, void 0, function () {
86
+ var path, result;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ path = "/cosmos/bank/v1beta1/balances/" + address;
91
+ return [4 /*yield*/, this.axios.get(path)];
92
+ case 1:
93
+ result = _a.sent();
94
+ return [2 /*return*/, result.data.balances];
95
+ }
96
+ });
97
+ });
98
+ };
69
99
  BankQueryClient.prototype.queryBalance = function (address, denom) {
70
100
  return __awaiter(this, void 0, void 0, function () {
71
101
  var path, result;
72
102
  return __generator(this, function (_a) {
73
103
  switch (_a.label) {
74
104
  case 0:
75
- path = "/cosmos/bank/v1beta1/balances/" + address + "/" + denom;
105
+ path = "/cosmos/bank/v1beta1/balances/" + address + "/by_denom?denom=" + denom;
76
106
  return [4 /*yield*/, this.axios.get(path)];
77
107
  case 1:
78
108
  result = _a.sent();
79
- return [2 /*return*/, result.data.balance.amount];
109
+ return [2 /*return*/, result.data.balance];
80
110
  }
81
111
  });
82
112
  });
@@ -7,7 +7,7 @@ function getSignAndBroadcastOption(denom, txMisc) {
7
7
  if (txMisc.memo == null)
8
8
  txMisc.memo = "";
9
9
  if (txMisc.fee == null)
10
- txMisc.fee = 2000;
10
+ txMisc.fee = 200000;
11
11
  if (txMisc.gas == null)
12
12
  txMisc.gas = 200000;
13
13
  if (txMisc.feeGranter == null)
@@ -17,7 +17,7 @@ function getSignAndBroadcastOption(denom, txMisc) {
17
17
  return { fee: defaultFee, memo: txMisc.memo };
18
18
  }
19
19
  exports.getSignAndBroadcastOption = getSignAndBroadcastOption;
20
- exports.DefaultTxMisc = { memo: "", fee: 2000, gas: 200000, feeGranter: "" };
20
+ exports.DefaultTxMisc = { memo: "", fee: 200000, gas: 200000, feeGranter: "" };
21
21
  var VotingOption;
22
22
  (function (VotingOption) {
23
23
  /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */
@@ -0,0 +1,24 @@
1
+ import { Pagination } from "../common";
2
+ export interface TokenDataType {
3
+ tokenID: string;
4
+ name: string;
5
+ symbol: string;
6
+ tokenURI: string;
7
+ totalSupply: number;
8
+ decimal: number;
9
+ mintable: boolean;
10
+ burnable: boolean;
11
+ mintSequence: number;
12
+ burnSequence: number;
13
+ owner: string;
14
+ }
15
+ export declare class TokenQueryClient {
16
+ private readonly axios;
17
+ constructor(baseUrl: string);
18
+ queryTokenDataFromOwner(ownerAddress: string): Promise<string[]>;
19
+ queryTokenData(tokenID: string): Promise<TokenDataType>;
20
+ queryTokenDataAll(paginationKey?: string): Promise<{
21
+ dataList: TokenDataType[];
22
+ pagination: Pagination;
23
+ }>;
24
+ }